Skip to content

Commit 4e3891b

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 0a9786b + 9f811fb commit 4e3891b

File tree

10 files changed

+56
-14
lines changed

10 files changed

+56
-14
lines changed

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
### v0.7.1.pre
2+
3+
* bug-fixes
4+
* Allow to create a `BeyondApi::Session` without `access_token` and `refresh_token`
5+
* Fix no-Rails logger
6+
7+
### v0.7.0.pre
8+
9+
* features
10+
* Add `Products#assign_variation_images_differentiator` method
11+
12+
* deprecations
13+
* `Variations#adjust_stock_level` receives parameter `relative_amount` instead of `body`
14+
115
### v0.6.0.pre
216

317
* bug-fixes

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
beyond_api (0.6.0.pre)
4+
beyond_api (0.7.1.pre)
55
faraday (~> 0.15)
66

77
GEM

lib/beyond_api.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
require "beyond_api/ext"
88
require "beyond_api/utils"
99

10+
require "logger"
11+
1012
module BeyondApi
1113
class Error < StandardError; end
1214

lib/beyond_api/request.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class << self
99
define_method(method) do |session, path, params = {}|
1010
response = BeyondApi::Connection.default.send(method) do |request|
1111
request.url(session.api_url + path)
12-
request.headers['Authorization'] = "Bearer #{ session.access_token }"
12+
request.headers['Authorization'] = "Bearer #{ session.access_token }" unless session.access_token.nil?
1313
request.params = params.to_h.camelize_keys
1414
end
1515

@@ -21,7 +21,7 @@ class << self
2121
define_method(method) do |session, path, body = {}, params = {}|
2222
response = BeyondApi::Connection.default.send(method) do |request|
2323
request.url(session.api_url + path)
24-
request.headers['Authorization'] = "Bearer #{ session.access_token }"
24+
request.headers['Authorization'] = "Bearer #{ session.access_token }" unless session.access_token.nil?
2525
request.params = params.to_h.camelize_keys
2626
request.body = body.camelize_keys.to_json
2727
end
@@ -34,7 +34,7 @@ class << self
3434
def self.upload(session, path, file_binary, content_type, params)
3535
response = BeyondApi::Connection.default.post do |request|
3636
request.url(session.api_url + path)
37-
request.headers['Authorization'] = "Bearer #{ session.access_token }"
37+
request.headers['Authorization'] = "Bearer #{ session.access_token }" unless session.access_token.nil?
3838
request.headers['Content-Type'] = content_type
3939
request.params = params.to_h.camelize_keys
4040
request.body = file_binary

lib/beyond_api/resources/base.rb

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ class InvalidSessionError < StandardError; end
88

99
def initialize(session)
1010
@session = session
11-
raise InvalidSessionError.new("Invalid session") unless session.is_a? BeyondApi::Session
12-
if session.api_url.nil? || session.access_token.nil? || session.refresh_token.nil?
13-
raise InvalidSessionError.new("Session api_url, access_token and refresh_token cannot be nil")
14-
end
11+
12+
raise InvalidSessionError, "Invalid session" unless session.is_a? BeyondApi::Session
13+
raise InvalidSessionError, "Session api_url cannot be nil" if session.api_url.nil?
1514
end
1615
end
1716
end

lib/beyond_api/resources/products.rb

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,33 @@ def update(product_id, body)
252252
handle_response(response, status)
253253
end
254254

255+
#
256+
# A +PUT+ request is used to assign a variation images differentiator for a variation product. The differentiator can be one of the variation attributes defined by the merchant, e.g. name, size, or color.
257+
#
258+
# @beyond_api.scopes +prod:u+
259+
#
260+
# $ curl 'https://api-shop.beyondshop.cloud/api/products/30839efc-47f7-4d55-aa13-aac7532982b6/variation-images-differentiator' -i -X PUT \
261+
# -H 'Content-Type: application/hal+json' \
262+
# -H 'Accept: application/hal+json' \
263+
# -H 'Authorization: Bearer <Access token>' \
264+
# -d '{
265+
# "differentiator" : "size"
266+
# }'
267+
#
268+
# @param product_id [String] the product UUID
269+
# @param differentiator [String] the differentiator
270+
#
271+
# @return [true]
272+
#
273+
# @example
274+
# session.products.assign_variation_images_differentiator("30839efc-47f7-4d55-aa13-aac7532982b6", "size")
275+
#
276+
def assign_variation_images_differentiator(product_id, differentiator)
277+
response, status = BeyondApi::Request.put(@session, "/products/#{product_id}/variation-images-differentiator", differentiator: differentiator)
278+
279+
handle_response(response, status, respond_with_true: true)
280+
end
281+
255282
alias_method :create_variation, :create
256283
alias_method :find_variation, :find
257284
alias_method :update_variation, :update

lib/beyond_api/resources/products/availability.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module ProductAvailability
2222
# @return [OpenStruct]
2323
#
2424
# @example
25-
# @availability = session.products.adjust_stock_level("685f483e-cdda-40af-8091-d5bc31249409", { relativeAmount => -1 })
25+
# @availability = session.products.adjust_stock_level("685f483e-cdda-40af-8091-d5bc31249409", -1)
2626
#
2727
def adjust_stock_level(product_id, relative_amount)
2828
response, status = BeyondApi::Request.post(@session, "/products/#{product_id}/availability/adjust-available-stock", { relative_amount: relative_amount })

lib/beyond_api/resources/variations/availability.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ module VariationAvailability
1818
#
1919
# @param product_id [String] the product UUID
2020
# @param variation_id [String] the product variation UUID
21-
# @param body [Hash] the request body
21+
# @param relative_amount [Integer] the relative amount
2222
#
2323
# @return [OpenStruct]
2424
#
2525
# @example
2626
# @availability = session.variations.adjust_stock_level(product_id, variation_id, { relativeAmount => -1 })
2727
#
28-
def adjust_stock_level(product_id, variation_id, body)
29-
response, status = BeyondApi::Request.post(@session, "/products/#{product_id}/variations/#{variation_id}/availability/adjust-available-stock", body)
28+
def adjust_stock_level(product_id, variation_id, relative_amount)
29+
response, status = BeyondApi::Request.post(@session, "/products/#{product_id}/variations/#{variation_id}/availability/adjust-available-stock", relative_amount: relative_amount)
3030

3131
handle_response(response, status)
3232
end

lib/beyond_api/resources/variations/images.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ def images(product_id, variation_id, params = {})
139139
# "source" => "https://vimeo.com/7265982"
140140
# }
141141
#
142-
# session.variation.upload_image("4125b993-49fc-47c8-b9b3-76d8871e4e06", "d7fecf94-2e57-4122-8c94-a0acd840c111", "/home/epages/file.png", "file.png")
142+
# session.variations.upload_image("4125b993-49fc-47c8-b9b3-76d8871e4e06", "d7fecf94-2e57-4122-8c94-a0acd840c111", "/home/epages/file.png", "file.png")
143143
#
144144
def upload_image(product_id, variation_id, image_path, image_name)
145145
content_type = case File.extname(image_path)

lib/beyond_api/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module BeyondApi
2-
VERSION = "0.6.0.pre".freeze
2+
VERSION = "0.7.1.pre".freeze
33
end

0 commit comments

Comments
 (0)