commercelayer 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9d8acdfd4fcaf84f095f06d91def525ba3f4711862d46a78930d754e42c07512
4
- data.tar.gz: 81eaecafd7b932285d786aebb71ef100bf1370dd0fd360bda1ad5f0312f03cfa
3
+ metadata.gz: '06366185eb71ce309678dc643bd8d96efd622e5fbd4ea5e3157665369d9bc6b0'
4
+ data.tar.gz: b078340b562bca7b0b41399dc0acbd0376bcf591a832a1e6cbf0463338cf9a93
5
5
  SHA512:
6
- metadata.gz: 21002e19847fc3f7ae20d3a1f3c991a728f71b67ecc7ec853b351011a469fbb1e88ee7565028186006c5cb4c4c1db35d74f07c9ca4e324a6f1269aae25568a44
7
- data.tar.gz: eeeb141b110314e640dd579883508c71c7fbef62a8b8bb74b977618004e3620742dfa3f95d340c6acd393fed55b198218c833beb22d2a9394edaac1b852819a1
6
+ metadata.gz: 5382cb1ea619e5cefcb98ab7ca98f487d08ea255e46a6e8ba228889f13d3c7d5c07e36b1537b2aa064c3cf836ab8d4a683252c10e6c07770a0286e0373bae9df
7
+ data.tar.gz: ac5df68fdf98d33d687918325656e085383e23b58e30cfc44b04f8bac6d905d1253c1dd13b80fdd16a3db0295eb727e5eb6823edce0869441048d1b5eab47171
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- commercelayer (0.4.0)
4
+ commercelayer (0.8.2)
5
5
  jsonapi-consumer (~> 2.0.0.pre)
6
6
  oauth2 (~> 1.4.0)
7
7
 
@@ -24,7 +24,7 @@ GEM
24
24
  multipart-post (>= 1.2, < 3)
25
25
  faraday_middleware (0.13.1)
26
26
  faraday (>= 0.7.4, < 1.0)
27
- i18n (1.5.3)
27
+ i18n (1.6.0)
28
28
  concurrent-ruby (~> 1.0)
29
29
  jsonapi-consumer (2.0.0.pre)
30
30
  activemodel (>= 3.2)
data/config/resources.yml CHANGED
@@ -174,12 +174,6 @@ resources:
174
174
  attachments:
175
175
  type: has_many
176
176
  class_name: Attachment
177
- shipment_line_item:
178
- name: ShipmentLineItem
179
- relationships:
180
- line_item:
181
- type: has_one
182
- class_name: LineItem
183
177
  line_item:
184
178
  name: LineItem
185
179
  relationships:
@@ -269,7 +263,7 @@ resources:
269
263
  class_name: DeliveryLeadTime
270
264
  sku_options:
271
265
  type: has_many
272
- class_name:
266
+ class_name:
273
267
  credit_card:
274
268
  name: CreditCard
275
269
  relationships:
@@ -16,12 +16,23 @@ module Commercelayer
16
16
  resources = YAML::load_file(File.join(__dir__, '../../config/resources.yml'))["resources"].deep_symbolize_keys
17
17
 
18
18
  resources.each do |resource_key, resource_values|
19
+ # Define base resource classes
20
+ resource_class_name = resource_values[:name].to_s.classify
19
21
  resource_class = Class.new(Resource) do
20
22
  resource_values[:relationships].each do |name, options|
21
23
  send options[:type], name, class_name: options[:class_name]
22
24
  end
23
25
  end
24
- Commercelayer.const_set(resource_values[:name], resource_class)
26
+ Commercelayer.const_set(resource_class_name, resource_class)
27
+
28
+ # Define relationship resource classes
29
+ resource_values[:relationships].each do |name, options|
30
+ relationship_resource_class_name = name.to_s.classify
31
+ if !resources.keys.include?(name.to_s.singularize.to_sym) && !Object.const_defined?("Commercelayer::#{relationship_resource_class_name}")
32
+ relationship_resource_class = Class.new(Resource)
33
+ Commercelayer.const_set(relationship_resource_class_name, relationship_resource_class)
34
+ end
35
+ end
25
36
  end
26
37
 
27
38
  end
@@ -1,3 +1,3 @@
1
1
  module Commercelayer
2
- VERSION = "0.8.2"
2
+ VERSION = "0.8.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commercelayer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Filippo Conforti
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-05 00:00:00.000000000 Z
11
+ date: 2019-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler