huginn_bigcommerce_product_agent 1.3.0 → 1.3.1

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: 0a16c935c5f0593bfe513a750ce449cfa38c408cdae2d1d232a1952e910e0e61
4
- data.tar.gz: 198cf4537a7751e48ea4563eee131328c1c6e9815e38f0e0e5d5f710b170ab41
3
+ metadata.gz: 911e20cea1ee097a95874f55f2366599eaed196c55e8da885e4c4273fc99baa2
4
+ data.tar.gz: f9d92d1e656157743a633d32eb6ae97ebc7dc942e2d1ade910613a6775df77b2
5
5
  SHA512:
6
- metadata.gz: 7b49211e58db9b4c6a84c6ca45009ca08101d9a0fe2163c2b9dbbbf9c91257aa99029e3b4c4dd518d5ce87fe40a03987481d7255339d24b750de1eb0c7e45b62
7
- data.tar.gz: 811685124d0e2b4068a8897d24e6130ae2982efb37675f0e3a7c3b4aff6234dc5d839dd5a5afb54edeacb88557716a6d10061f6ec14f9bb0db253906ae2cd3b0
6
+ metadata.gz: 9b04f1cdb14008d9ab24cf33aef05f330804cb3d8f95ae4726e228f3ced6882759b987321c6cea4c24f4802592aeec284c8cb7439e3352b7469d8496fdfe0942
7
+ data.tar.gz: dc30b25ad1a9c020a47f8057362941da29b51f29bc0df6cc3e9c10ca456b92242ae5a2436b1554e2f1fc36a7941b0ddfa6852b0c5fc9a14ad0f4bff6ae42f4b1
@@ -112,7 +112,10 @@ module Agents
112
112
  %w[custom_fields options]
113
113
  )
114
114
 
115
- split = get_mapper(:ProductMapper).split_digital_and_physical(product)
115
+ split = get_mapper(:ProductMapper).split_digital_and_physical(
116
+ product,
117
+ interpolated['custom_fields_map']
118
+ )
116
119
  physical = split[:physical]
117
120
  digital = split[:digital]
118
121
 
@@ -84,7 +84,7 @@ module BigcommerceProductAgent
84
84
  product['model'].any? {|m| m['isDigital'] != true}
85
85
  end
86
86
 
87
- def self.split_digital_and_physical(product)
87
+ def self.split_digital_and_physical(product, field_map)
88
88
  result = {}
89
89
 
90
90
  digitals = product['model'].select {|m| m['isDigital'] == true}
@@ -92,6 +92,7 @@ module BigcommerceProductAgent
92
92
  if digitals.length > 0
93
93
  clone = Marshal.load(Marshal.dump(product))
94
94
  clone['model'] = digitals
95
+ self.merge_additional_properties(clone, field_map)
95
96
  result[:digital] = clone
96
97
  end
97
98
 
@@ -100,6 +101,7 @@ module BigcommerceProductAgent
100
101
  if physicals.length > 0
101
102
  clone = Marshal.load(Marshal.dump(product))
102
103
  clone['model'] = physicals
104
+ self.merge_additional_properties(clone, field_map)
103
105
  result[:physical] = clone
104
106
  end
105
107
 
@@ -158,6 +160,17 @@ module BigcommerceProductAgent
158
160
  product['model'].select {|m| m['sku'] == sku}.first
159
161
  end
160
162
 
163
+ def self.merge_additional_properties(clone, field_map)
164
+ defaultVariant = clone['model'].select { |v| v['isDefault'] }.first
165
+ if defaultVariant['isDefault'] && defaultVariant['additionalProperty']
166
+ unless field_map.nil? || field_map['additionalProperty'].nil?
167
+ field_map['additionalProperty'].each do |field, key|
168
+ prop = defaultVariant['additionalProperty'].select { |prop| prop['propertyID'] == field[key] }.first
169
+ clone['additionalProperty'].push(prop) unless prop.nil?
170
+ end
171
+ end
172
+ end
173
+ end
161
174
  end
162
175
  end
163
176
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: huginn_bigcommerce_product_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Spizziri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-14 00:00:00.000000000 Z
11
+ date: 2020-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler