Skip to content

Commit

Permalink
Fix handling of array as request body and add missing modules into Pr… (
Browse files Browse the repository at this point in the history
ePages-de#14)

* Fix handling of array as request body and add missing modules into Product

* Update gemfile

* Update changelog
  • Loading branch information
k4th authored Nov 28, 2019
1 parent 7459c44 commit e0ab3ce
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 4 deletions.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
### v0.5.0.pre

* bug-fixes
* Fix handling of array as request body
* Include `BeyondApi::ProductAttachments` module into `BeyondApi::Products` class
* Include `BeyondApi::ProductAvailability` module into `BeyondApi::Products` class
* Include `BeyondApi::ProductSearches` module into `BeyondApi::Products` class
* Include `BeyondApi::ProductVariationProperties` module into `BeyondApi::Products` class
* Include `BeyondApi::VariationAvailability` module into `BeyondApi::Variations` class

### v0.4.0.pre

* bug-fixes
Expand Down
4 changes: 2 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
beyond_api (0.4.0.pre)
beyond_api (0.5.0.pre)
faraday (~> 0.15)

GEM
Expand All @@ -13,7 +13,7 @@ GEM
dotenv (2.7.5)
faker (2.4.0)
i18n (~> 1.6.0)
faraday (0.17.0)
faraday (0.17.1)
multipart-post (>= 1.2, < 3)
i18n (1.6.0)
concurrent-ruby (~> 1.0)
Expand Down
11 changes: 11 additions & 0 deletions lib/beyond_api/ext.rb
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,14 @@ def camelize(uppercase_first_letter = true)
string.gsub(/(?:_|(\/))([a-z\d]*)/) { "#{$1}#{$2.capitalize}" }.gsub("/", "::")
end
end

class Array
def camelize_keys
map do |elem|
case elem
when Hash, Array; elem.camelize_keys
else; elem
end
end
end
end
2 changes: 1 addition & 1 deletion lib/beyond_api/request.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class << self
request.url(session.api_url + path)
request.headers['Authorization'] = "Bearer #{ session.access_token }"
request.params = params.to_h.camelize_keys
request.body = body.to_h.camelize_keys.to_json
request.body = body.camelize_keys.to_json
end

[response.body.blank? ? nil : JSON.parse(response.body), response.status]
Expand Down
8 changes: 8 additions & 0 deletions lib/beyond_api/resources/products.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
# frozen_string_literal: true

require "beyond_api/utils"
require "beyond_api/resources/products/attachments"
require "beyond_api/resources/products/availability"
require "beyond_api/resources/products/custom_attributes"
require "beyond_api/resources/products/images"
require "beyond_api/resources/products/searches"
require "beyond_api/resources/products/variation_properties"

module BeyondApi
class Products < Base
include BeyondApi::ProductAttachments
include BeyondApi::ProductAvailability
include BeyondApi::ProductCustomAttributes
include BeyondApi::ProductImages
include BeyondApi::ProductSearches
include BeyondApi::ProductVariationProperties
include BeyondApi::Utils

#
Expand Down
2 changes: 2 additions & 0 deletions lib/beyond_api/resources/variations.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# frozen_string_literal: true

require "beyond_api/utils"
require "beyond_api/resources/variations/availability"

module BeyondApi
class Variations < Base
include BeyondApi::VariationAvailability
include BeyondApi::Utils

#
Expand Down
2 changes: 1 addition & 1 deletion lib/beyond_api/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module BeyondApi
VERSION = "0.4.0.pre".freeze
VERSION = "0.5.0.pre".freeze
end

0 comments on commit e0ab3ce

Please sign in to comment.