e_plat 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +84 -54
  3. data/lib/e_plat/client/default_request_args.rb +1 -1
  4. data/lib/e_plat/client.rb +34 -8
  5. data/lib/e_plat/mapping/bigcommerce/v_3/product/option.rb +58 -0
  6. data/lib/e_plat/mapping/bigcommerce/v_3/product/variant/option_value.rb +42 -0
  7. data/lib/e_plat/mapping/shopify/v_2024_07/metafield.rb +26 -0
  8. data/lib/e_plat/mapping/shopify/v_2024_07/order/billing_address.rb +14 -0
  9. data/lib/e_plat/mapping/shopify/v_2024_07/order/shipping_address.rb +30 -0
  10. data/lib/e_plat/mapping/shopify/v_2024_07/order.rb +26 -0
  11. data/lib/e_plat/mapping/shopify/v_2024_07/product/image.rb +52 -0
  12. data/lib/e_plat/mapping/shopify/v_2024_07/product/option.rb +45 -0
  13. data/lib/e_plat/mapping/shopify/v_2024_07/product/variant/option_value.rb +58 -0
  14. data/lib/e_plat/mapping/shopify/v_2024_07/product/variant.rb +180 -0
  15. data/lib/e_plat/mapping/shopify/v_2024_07/product.rb +100 -0
  16. data/lib/e_plat/mapping/shopify/v_2024_07/script_tag.rb +26 -0
  17. data/lib/e_plat/mapping/shopify/v_2024_07/shop.rb +26 -0
  18. data/lib/e_plat/mapping/shopify/v_2024_07/webhook.rb +29 -0
  19. data/lib/e_plat/mapping/virtual_collection/shopify/product/variant/option_value.rb +272 -0
  20. data/lib/e_plat/resource/base.rb +24 -2
  21. data/lib/e_plat/resource/collection.rb +45 -16
  22. data/lib/e_plat/resource/concerns/aliases.rb +39 -19
  23. data/lib/e_plat/resource/concerns/dirty.rb +12 -8
  24. data/lib/e_plat/resource/concerns/graph_q_lable.rb +253 -0
  25. data/lib/e_plat/resource/concerns/overwrite_instance_methods.rb +4 -4
  26. data/lib/e_plat/resource/concerns/overwrite_request_methods.rb +1 -1
  27. data/lib/e_plat/resource/countable.rb +37 -10
  28. data/lib/e_plat/resource/platform_specific/bigcommerce/product/variant/option_value.rb +2 -0
  29. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/input/product/variant.rb +47 -0
  30. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/input/product/variants_bulk.rb +47 -0
  31. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/input/product.rb +23 -0
  32. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/input.rb +98 -0
  33. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/mutation/product/variant.rb +78 -0
  34. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/mutation/product.rb +55 -0
  35. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/mutation.rb +5 -0
  36. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/query/product/variant.rb +44 -0
  37. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/query/product.rb +58 -0
  38. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/query.rb +5 -0
  39. data/lib/e_plat/resource/platform_specific/shopify/product/image.rb +13 -1
  40. data/lib/e_plat/resource/platform_specific/shopify/product/option.rb +13 -1
  41. data/lib/e_plat/resource/platform_specific/shopify/product/variant/option_value.rb +14 -0
  42. data/lib/e_plat/resource/platform_specific/shopify/product/variant.rb +65 -1
  43. data/lib/e_plat/resource/platform_specific/shopify/product.rb +77 -2
  44. data/lib/e_plat/resource/product/image.rb +8 -5
  45. data/lib/e_plat/resource/product/option.rb +2 -3
  46. data/lib/e_plat/resource/product/variant/option_value.rb +17 -0
  47. data/lib/e_plat/resource/product/variant.rb +4 -10
  48. data/lib/e_plat/resource/product.rb +23 -11
  49. data/lib/e_plat/session.rb +3 -2
  50. data/lib/e_plat/type_coercer.rb +3 -1
  51. data/lib/e_plat/version.rb +1 -1
  52. data/lib/e_plat.rb +12 -3
  53. data/lib/hash.rb +39 -0
  54. metadata +130 -27
@@ -2,12 +2,12 @@ module EPlat
2
2
  class Product
3
3
  class Variant < Base
4
4
  belongs_to :product, class_name: "EPlat::Product"
5
-
5
+
6
6
  class << self; end
7
7
 
8
8
  schema do
9
9
  integer :id
10
- integer :product_id
10
+ integer :product_id # nil-able as Shopify graphql doesn't use it
11
11
  string :title
12
12
  string :price
13
13
  string :sku
@@ -15,29 +15,23 @@ module EPlat
15
15
  string :inventory_policy
16
16
  string :compare_at_price
17
17
  string :fulfillment_service
18
- string :inventory_management
19
- string :option1
20
- string :option2
21
- string :option3
18
+ boolean :inventory_management
22
19
  datetime :created_at
23
20
  datetime :updated_at
24
21
  boolean :taxable
25
22
  string :barcode
26
23
  integer :grams
27
- integer :image_id
28
24
  float :weight
29
25
  string :weight_unit
30
26
  integer :inventory_item_id
31
27
  integer :inventory_quantity
32
- integer :old_inventory_quantity
33
- array :presentment_prices
34
28
  string :tax_code
35
29
  boolean :requires_shipping
36
30
  string :admin_graphql_api_id
37
31
  end
38
32
 
39
33
  def save
40
- prefix_options[:product] ||= product.id
34
+ prefix_options[:product] ||= try(:product)&.id
41
35
  super
42
36
  end
43
37
  end
@@ -2,16 +2,7 @@ module EPlat
2
2
  class Product < Base
3
3
  has_many :variants, class_name: "EPlat::Product::Variant"
4
4
  has_many :images, class_name: "EPlat::Product::Image"
5
-
6
- # graphql :shopify, :product do
7
- # variants do
8
- # edges { node as: :variant }
9
- # end
10
- # images do
11
- # edges { node as: :image }
12
- # end
13
- # end
14
-
5
+ has_many :options, class_name: "EPlat::Product::Option"
15
6
 
16
7
  include Concerns::Metafieldable
17
8
 
@@ -24,7 +15,6 @@ module EPlat
24
15
  array :options
25
16
  string :product_type
26
17
  datetime :published_at
27
- string :published_scope
28
18
  string :status
29
19
  string :tags
30
20
  string :admin_graphql_api_id
@@ -46,6 +36,28 @@ module EPlat
46
36
  def find_variant(id)
47
37
  variants.find { |v| v.id && v.id.to_i == id.to_i }
48
38
  end
39
+
40
+ def variants_collection
41
+ @variants_collection ||= EPlat::Product::Variant.find(:all, params: {product_id: id, limit: 200})
42
+ end
43
+
44
+ def load_all_variants # slow method, run async
45
+ return EPlat::Collection.new(variants) unless client.shopify? && client.uses_graphql_for_products?
46
+
47
+ @variants_collection = variants_collection
48
+ @saved_variants = @variants_collection.to_a
49
+ cycle = 0
50
+
51
+ while @variants_collection.next_page?
52
+ @variants_collection = @variants_collection.fetch_next_page
53
+ @saved_variants += @variants_collection.to_a
54
+
55
+ cycle += 1
56
+ break if cycle > 10
57
+ end
58
+
59
+ self.variants = EPlat::Collection.new(@saved_variants)
60
+ end
49
61
 
50
62
  end
51
63
  end
@@ -3,12 +3,13 @@ module EPlat
3
3
  class Session
4
4
  #the session is an instance of EPlat::Client made available via Rails EPlat::Current::Attributes
5
5
 
6
- def initialize(platform:, store_url:, api_token:, store_hash: nil)
6
+ def initialize(platform:, store_url:, api_token:, store_hash: nil, api_version: nil)
7
7
  EPlat::Current.e_plat_session = EPlat::Client.new(
8
8
  platform: platform,
9
9
  store_url: store_url,
10
10
  api_token: api_token,
11
- store_hash: store_hash
11
+ store_hash: store_hash,
12
+ api_version: api_version
12
13
  ).freeze
13
14
  end
14
15
 
@@ -33,7 +33,7 @@ module EPlat
33
33
  else
34
34
  value.send to_type_method(type)
35
35
  end
36
- rescue
36
+ rescue
37
37
  value
38
38
  end
39
39
 
@@ -48,6 +48,8 @@ module EPlat
48
48
  "to_h"
49
49
  when "string"
50
50
  "to_s"
51
+ when "float"
52
+ "to_f"
51
53
  when "datetime"
52
54
  "to_datetime"
53
55
  end
@@ -1,3 +1,3 @@
1
1
  module EPlat
2
- VERSION = "0.6.0"
2
+ VERSION = "0.7.0"
3
3
  end
data/lib/e_plat.rb CHANGED
@@ -7,6 +7,7 @@ require "activeresource"
7
7
  require "activeresource-response"
8
8
  require 'dry-types'
9
9
  require 'active_resource/connection_error'
10
+ require_relative "hash"
10
11
  # require "e_plat/railtie" if defined?(Rails::Railtie)
11
12
 
12
13
  Zeitwerk::Loader.for_gem(warn_on_extra_files: false)
@@ -21,7 +22,7 @@ loader.setup
21
22
 
22
23
  module EPlat
23
24
  extend Dry::Configurable
24
- SUPPORTED_SHOPIFY_API_VERSIONS = ['2024_01']
25
+ SUPPORTED_SHOPIFY_API_VERSIONS = ['2024_01', '2024_07']
25
26
  SUPPORTED_BIGCOMMERCE_API_VERSIONS = ['3']
26
27
 
27
28
  SUPPORTED_PLATFORMS = ["shopify", "bigcommerce"]
@@ -41,17 +42,19 @@ module EPlat
41
42
  "metafield"
42
43
  ]
43
44
 
44
- setting(:shopify_api_version, default: "2024_01", constructor: ->(value) do
45
+ setting(:shopify_api_version, default: ENV['EPLAT_SHOPIFY_API_VERSION'] || "2024_07", constructor: ->(value) do
45
46
  SUPPORTED_SHOPIFY_API_VERSIONS.include?(value.underscore) ? value.underscore : raise(ArgumentError, "Shopify API version #{value} is not supported")
46
47
  end)
47
48
 
48
- setting(:bigcommerce_api_version, default: "v3", constructor: ->(value) do
49
+ setting(:bigcommerce_api_version, default: ENV['EPLAT_BIGCOMMERCE_API_VERSION'] || "v3", constructor: ->(value) do
49
50
  v = value.downcase.gsub("v", "")
50
51
  SUPPORTED_BIGCOMMERCE_API_VERSIONS.include?(v) ? v : raise(ArgumentError, "Bigcommerce API version #{value} is not supported")
51
52
  end)
52
53
 
53
54
  setting(:woocommerce_api_version, default: "v3", constructor: ->(value) { value.downcase.gsub("v", "") })
54
55
 
56
+ setting(:print_graphql_requests, default:ENV['EPLAT_PRINT_GRAPHQL_REQUESTS'] || false)
57
+
55
58
  def self.api_display_name
56
59
  apis = Struct.new(:shopify, :bigcommerce, :woocommerce)
57
60
  apis.new(
@@ -61,7 +64,13 @@ module EPlat
61
64
  )
62
65
  end
63
66
 
67
+ def self.shopify_graphql_version
68
+ # "V#{ EPlat.config.shopify_api_version.underscore }"
69
+ "V202407"
70
+ end
71
+
64
72
  class Error < StandardError; end
73
+ class GraphqlError < Error; end
65
74
  end
66
75
 
67
76
  EPlat::Initializer.check_required_classes!
data/lib/hash.rb ADDED
@@ -0,0 +1,39 @@
1
+ class Hash
2
+ def to_graphql_args
3
+ map do |key, value|
4
+ formatted_value =
5
+ case value
6
+ when String
7
+ "\"#{value}\""
8
+ when Hash
9
+ value.to_graphql_args
10
+ else
11
+ value
12
+ end
13
+
14
+ "#{key}: #{formatted_value}"
15
+ end.join(", ")
16
+ end
17
+
18
+ def to_camelized_graphql_args
19
+ map do |key, value|
20
+ formatted_value =
21
+ case value
22
+ when String
23
+ "\"#{value}\""
24
+ when Hash
25
+ value.to_graphql_args
26
+ else
27
+ value
28
+ end
29
+
30
+ "#{key.to_s.camelize(:lower)}: #{formatted_value}"
31
+ end.join(", ")
32
+ end
33
+
34
+ def to_shopify_graphql_query_string
35
+ map do |key, value|
36
+ "#{key}:#{value.is_a?(String) ? "\'#{value}\'" : value}"
37
+ end.join(" ")
38
+ end
39
+ end
metadata CHANGED
@@ -1,183 +1,255 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: e_plat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - oliwoodsuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-29 00:00:00.000000000 Z
11
+ date: 2024-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.3'
17
20
  - - ">="
18
21
  - !ruby/object:Gem::Version
19
- version: '0'
22
+ version: '2'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.3'
24
30
  - - ">="
25
31
  - !ruby/object:Gem::Version
26
- version: '0'
32
+ version: '2'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rails
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - ">="
37
+ - - "~>"
32
38
  - !ruby/object:Gem::Version
33
39
  version: 7.0.4
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '7.0'
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
- - - ">="
47
+ - - "~>"
39
48
  - !ruby/object:Gem::Version
40
49
  version: 7.0.4
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '7.0'
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: zeitwerk
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '2.5'
45
60
  - - ">="
46
61
  - !ruby/object:Gem::Version
47
- version: '0'
62
+ version: '2.0'
48
63
  type: :runtime
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '2.5'
52
70
  - - ">="
53
71
  - !ruby/object:Gem::Version
54
- version: '0'
72
+ version: '2.0'
55
73
  - !ruby/object:Gem::Dependency
56
74
  name: rake
57
75
  requirement: !ruby/object:Gem::Requirement
58
76
  requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '13.0'
59
80
  - - ">="
60
81
  - !ruby/object:Gem::Version
61
- version: '0'
82
+ version: '13'
62
83
  type: :runtime
63
84
  prerelease: false
64
85
  version_requirements: !ruby/object:Gem::Requirement
65
86
  requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '13.0'
66
90
  - - ">="
67
91
  - !ruby/object:Gem::Version
68
- version: '0'
92
+ version: '13'
69
93
  - !ruby/object:Gem::Dependency
70
94
  name: activeresource
71
95
  requirement: !ruby/object:Gem::Requirement
72
96
  requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '6.1'
73
100
  - - ">="
74
101
  - !ruby/object:Gem::Version
75
- version: 6.1.0
102
+ version: '6.0'
76
103
  type: :runtime
77
104
  prerelease: false
78
105
  version_requirements: !ruby/object:Gem::Requirement
79
106
  requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '6.1'
80
110
  - - ">="
81
111
  - !ruby/object:Gem::Version
82
- version: 6.1.0
112
+ version: '6.0'
83
113
  - !ruby/object:Gem::Dependency
84
114
  name: dry-configurable
85
115
  requirement: !ruby/object:Gem::Requirement
86
116
  requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '1.1'
87
120
  - - ">="
88
121
  - !ruby/object:Gem::Version
89
- version: '0'
122
+ version: '1.0'
90
123
  type: :runtime
91
124
  prerelease: false
92
125
  version_requirements: !ruby/object:Gem::Requirement
93
126
  requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '1.1'
94
130
  - - ">="
95
131
  - !ruby/object:Gem::Version
96
- version: '0'
132
+ version: '1.0'
97
133
  - !ruby/object:Gem::Dependency
98
134
  name: dry-logic
99
135
  requirement: !ruby/object:Gem::Requirement
100
136
  requirements:
101
- - - '='
137
+ - - "~>"
102
138
  - !ruby/object:Gem::Version
103
139
  version: '1.5'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '1.0'
104
143
  type: :runtime
105
144
  prerelease: false
106
145
  version_requirements: !ruby/object:Gem::Requirement
107
146
  requirements:
108
- - - '='
147
+ - - "~>"
109
148
  - !ruby/object:Gem::Version
110
149
  version: '1.5'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '1.0'
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: dry-types
113
155
  requirement: !ruby/object:Gem::Requirement
114
156
  requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 1.7.2
115
160
  - - ">="
116
161
  - !ruby/object:Gem::Version
117
- version: '0'
162
+ version: '1.0'
118
163
  type: :runtime
119
164
  prerelease: false
120
165
  version_requirements: !ruby/object:Gem::Requirement
121
166
  requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: 1.7.2
122
170
  - - ">="
123
171
  - !ruby/object:Gem::Version
124
- version: '0'
172
+ version: '1.0'
125
173
  - !ruby/object:Gem::Dependency
126
174
  name: webmock
127
175
  requirement: !ruby/object:Gem::Requirement
128
176
  requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '3.18'
129
180
  - - ">="
130
181
  - !ruby/object:Gem::Version
131
- version: '0'
182
+ version: '3'
132
183
  type: :development
133
184
  prerelease: false
134
185
  version_requirements: !ruby/object:Gem::Requirement
135
186
  requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '3.18'
136
190
  - - ">="
137
191
  - !ruby/object:Gem::Version
138
- version: '0'
192
+ version: '3'
139
193
  - !ruby/object:Gem::Dependency
140
194
  name: vcr
141
195
  requirement: !ruby/object:Gem::Requirement
142
196
  requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '6.1'
143
200
  - - ">="
144
201
  - !ruby/object:Gem::Version
145
- version: '0'
202
+ version: 6.0.0
146
203
  type: :development
147
204
  prerelease: false
148
205
  version_requirements: !ruby/object:Gem::Requirement
149
206
  requirements:
207
+ - - "~>"
208
+ - !ruby/object:Gem::Version
209
+ version: '6.1'
150
210
  - - ">="
151
211
  - !ruby/object:Gem::Version
152
- version: '0'
212
+ version: 6.0.0
153
213
  - !ruby/object:Gem::Dependency
154
214
  name: dotenv-rails
155
215
  requirement: !ruby/object:Gem::Requirement
156
216
  requirements:
217
+ - - "~>"
218
+ - !ruby/object:Gem::Version
219
+ version: '2.8'
157
220
  - - ">="
158
221
  - !ruby/object:Gem::Version
159
- version: '0'
222
+ version: '2'
160
223
  type: :development
161
224
  prerelease: false
162
225
  version_requirements: !ruby/object:Gem::Requirement
163
226
  requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '2.8'
164
230
  - - ">="
165
231
  - !ruby/object:Gem::Version
166
- version: '0'
232
+ version: '2'
167
233
  - !ruby/object:Gem::Dependency
168
234
  name: ruby-lsp
169
235
  requirement: !ruby/object:Gem::Requirement
170
236
  requirements:
237
+ - - "~>"
238
+ - !ruby/object:Gem::Version
239
+ version: 0.16.0
171
240
  - - ">="
172
241
  - !ruby/object:Gem::Version
173
- version: '0'
242
+ version: 0.1.0
174
243
  type: :development
175
244
  prerelease: false
176
245
  version_requirements: !ruby/object:Gem::Requirement
177
246
  requirements:
247
+ - - "~>"
248
+ - !ruby/object:Gem::Version
249
+ version: 0.16.0
178
250
  - - ">="
179
251
  - !ruby/object:Gem::Version
180
- version: '0'
252
+ version: 0.1.0
181
253
  description:
182
254
  email:
183
255
  - 55204545+oliwoodsuk@users.noreply.github.com
@@ -213,7 +285,9 @@ files:
213
285
  - lib/e_plat/mapping/bigcommerce/v_3/order/shipping_address.rb
214
286
  - lib/e_plat/mapping/bigcommerce/v_3/product.rb
215
287
  - lib/e_plat/mapping/bigcommerce/v_3/product/image.rb
288
+ - lib/e_plat/mapping/bigcommerce/v_3/product/option.rb
216
289
  - lib/e_plat/mapping/bigcommerce/v_3/product/variant.rb
290
+ - lib/e_plat/mapping/bigcommerce/v_3/product/variant/option_value.rb
217
291
  - lib/e_plat/mapping/bigcommerce/v_3/script_tag.rb
218
292
  - lib/e_plat/mapping/bigcommerce/v_3/shop.rb
219
293
  - lib/e_plat/mapping/bigcommerce/v_3/webhook.rb
@@ -228,14 +302,28 @@ files:
228
302
  - lib/e_plat/mapping/shopify/v_2024_01/script_tag.rb
229
303
  - lib/e_plat/mapping/shopify/v_2024_01/shop.rb
230
304
  - lib/e_plat/mapping/shopify/v_2024_01/webhook.rb
305
+ - lib/e_plat/mapping/shopify/v_2024_07/metafield.rb
306
+ - lib/e_plat/mapping/shopify/v_2024_07/order.rb
307
+ - lib/e_plat/mapping/shopify/v_2024_07/order/billing_address.rb
308
+ - lib/e_plat/mapping/shopify/v_2024_07/order/shipping_address.rb
309
+ - lib/e_plat/mapping/shopify/v_2024_07/product.rb
310
+ - lib/e_plat/mapping/shopify/v_2024_07/product/image.rb
311
+ - lib/e_plat/mapping/shopify/v_2024_07/product/option.rb
312
+ - lib/e_plat/mapping/shopify/v_2024_07/product/variant.rb
313
+ - lib/e_plat/mapping/shopify/v_2024_07/product/variant/option_value.rb
314
+ - lib/e_plat/mapping/shopify/v_2024_07/script_tag.rb
315
+ - lib/e_plat/mapping/shopify/v_2024_07/shop.rb
316
+ - lib/e_plat/mapping/shopify/v_2024_07/webhook.rb
231
317
  - lib/e_plat/mapping/virtual_collection/base.rb
232
318
  - lib/e_plat/mapping/virtual_collection/bigcommerce/order_line_items.rb
319
+ - lib/e_plat/mapping/virtual_collection/shopify/product/variant/option_value.rb
233
320
  - lib/e_plat/resource/attribute_interface.rb
234
321
  - lib/e_plat/resource/base.rb
235
322
  - lib/e_plat/resource/collection.rb
236
323
  - lib/e_plat/resource/concerns/aliases.rb
237
324
  - lib/e_plat/resource/concerns/dirty.rb
238
325
  - lib/e_plat/resource/concerns/full_json.rb
326
+ - lib/e_plat/resource/concerns/graph_q_lable.rb
239
327
  - lib/e_plat/resource/concerns/metafieldable.rb
240
328
  - lib/e_plat/resource/concerns/overwrite_instance_methods.rb
241
329
  - lib/e_plat/resource/concerns/overwrite_request_methods.rb
@@ -262,9 +350,20 @@ files:
262
350
  - lib/e_plat/resource/platform_specific/bigcommerce/product/image.rb
263
351
  - lib/e_plat/resource/platform_specific/bigcommerce/product/option.rb
264
352
  - lib/e_plat/resource/platform_specific/bigcommerce/product/variant.rb
353
+ - lib/e_plat/resource/platform_specific/bigcommerce/product/variant/option_value.rb
265
354
  - lib/e_plat/resource/platform_specific/bigcommerce/script_tag.rb
266
355
  - lib/e_plat/resource/platform_specific/bigcommerce/shop.rb
267
356
  - lib/e_plat/resource/platform_specific/bigcommerce/webhook.rb
357
+ - lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/input.rb
358
+ - lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/input/product.rb
359
+ - lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/input/product/variant.rb
360
+ - lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/input/product/variants_bulk.rb
361
+ - lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/mutation.rb
362
+ - lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/mutation/product.rb
363
+ - lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/mutation/product/variant.rb
364
+ - lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/query.rb
365
+ - lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/query/product.rb
366
+ - lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2024_07/query/product/variant.rb
268
367
  - lib/e_plat/resource/platform_specific/shopify/metafield.rb
269
368
  - lib/e_plat/resource/platform_specific/shopify/order.rb
270
369
  - lib/e_plat/resource/platform_specific/shopify/order/Consignment.rb
@@ -277,6 +376,7 @@ files:
277
376
  - lib/e_plat/resource/platform_specific/shopify/product/image.rb
278
377
  - lib/e_plat/resource/platform_specific/shopify/product/option.rb
279
378
  - lib/e_plat/resource/platform_specific/shopify/product/variant.rb
379
+ - lib/e_plat/resource/platform_specific/shopify/product/variant/option_value.rb
280
380
  - lib/e_plat/resource/platform_specific/shopify/recurring_application_charge.rb
281
381
  - lib/e_plat/resource/platform_specific/shopify/recurring_application_charge/usage_charge.rb
282
382
  - lib/e_plat/resource/platform_specific/shopify/script_tag.rb
@@ -286,6 +386,7 @@ files:
286
386
  - lib/e_plat/resource/product/image.rb
287
387
  - lib/e_plat/resource/product/option.rb
288
388
  - lib/e_plat/resource/product/variant.rb
389
+ - lib/e_plat/resource/product/variant/option_value.rb
289
390
  - lib/e_plat/resource/script_tag.rb
290
391
  - lib/e_plat/resource/shop.rb
291
392
  - lib/e_plat/resource/shopify_only/recurring_application_charge.rb
@@ -295,9 +396,11 @@ files:
295
396
  - lib/e_plat/type_coercer.rb
296
397
  - lib/e_plat/types.rb
297
398
  - lib/e_plat/version.rb
399
+ - lib/hash.rb
298
400
  - lib/tasks/e_plat_tasks.rake
299
401
  homepage: https://rubygems.org/gems/e_plat
300
- licenses: []
402
+ licenses:
403
+ - MIT
301
404
  metadata:
302
405
  homepage_uri: https://rubygems.org/gems/e_plat
303
406
  post_install_message: