e_plat 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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: