Skip to content

Commit e0ab3ce

Browse files
authored
Fix handling of array as request body and add missing modules into Pr… (#14)
* Fix handling of array as request body and add missing modules into Product * Update gemfile * Update changelog
1 parent 7459c44 commit e0ab3ce

File tree

7 files changed

+35
-4
lines changed

7 files changed

+35
-4
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
### v0.5.0.pre
2+
3+
* bug-fixes
4+
* Fix handling of array as request body
5+
* Include `BeyondApi::ProductAttachments` module into `BeyondApi::Products` class
6+
* Include `BeyondApi::ProductAvailability` module into `BeyondApi::Products` class
7+
* Include `BeyondApi::ProductSearches` module into `BeyondApi::Products` class
8+
* Include `BeyondApi::ProductVariationProperties` module into `BeyondApi::Products` class
9+
* Include `BeyondApi::VariationAvailability` module into `BeyondApi::Variations` class
10+
111
### v0.4.0.pre
212

313
* bug-fixes

Gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
beyond_api (0.4.0.pre)
4+
beyond_api (0.5.0.pre)
55
faraday (~> 0.15)
66

77
GEM
@@ -13,7 +13,7 @@ GEM
1313
dotenv (2.7.5)
1414
faker (2.4.0)
1515
i18n (~> 1.6.0)
16-
faraday (0.17.0)
16+
faraday (0.17.1)
1717
multipart-post (>= 1.2, < 3)
1818
i18n (1.6.0)
1919
concurrent-ruby (~> 1.0)

lib/beyond_api/ext.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,14 @@ def camelize(uppercase_first_letter = true)
4141
string.gsub(/(?:_|(\/))([a-z\d]*)/) { "#{$1}#{$2.capitalize}" }.gsub("/", "::")
4242
end
4343
end
44+
45+
class Array
46+
def camelize_keys
47+
map do |elem|
48+
case elem
49+
when Hash, Array; elem.camelize_keys
50+
else; elem
51+
end
52+
end
53+
end
54+
end

lib/beyond_api/request.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class << self
2323
request.url(session.api_url + path)
2424
request.headers['Authorization'] = "Bearer #{ session.access_token }"
2525
request.params = params.to_h.camelize_keys
26-
request.body = body.to_h.camelize_keys.to_json
26+
request.body = body.camelize_keys.to_json
2727
end
2828

2929
[response.body.blank? ? nil : JSON.parse(response.body), response.status]

lib/beyond_api/resources/products.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
# frozen_string_literal: true
22

33
require "beyond_api/utils"
4+
require "beyond_api/resources/products/attachments"
5+
require "beyond_api/resources/products/availability"
46
require "beyond_api/resources/products/custom_attributes"
57
require "beyond_api/resources/products/images"
8+
require "beyond_api/resources/products/searches"
9+
require "beyond_api/resources/products/variation_properties"
610

711
module BeyondApi
812
class Products < Base
13+
include BeyondApi::ProductAttachments
14+
include BeyondApi::ProductAvailability
915
include BeyondApi::ProductCustomAttributes
1016
include BeyondApi::ProductImages
17+
include BeyondApi::ProductSearches
18+
include BeyondApi::ProductVariationProperties
1119
include BeyondApi::Utils
1220

1321
#

lib/beyond_api/resources/variations.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# frozen_string_literal: true
22

33
require "beyond_api/utils"
4+
require "beyond_api/resources/variations/availability"
45

56
module BeyondApi
67
class Variations < Base
8+
include BeyondApi::VariationAvailability
79
include BeyondApi::Utils
810

911
#

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.4.0.pre".freeze
2+
VERSION = "0.5.0.pre".freeze
33
end

0 commit comments

Comments
 (0)