e_plat 1.5.0 → 1.6.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 (28) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -7
  3. data/lib/e_plat/mapping/shopify/v_2026_10/metafield.rb +26 -0
  4. data/lib/e_plat/mapping/shopify/v_2026_10/order/billing_address.rb +14 -0
  5. data/lib/e_plat/mapping/shopify/v_2026_10/order/shipping_address.rb +30 -0
  6. data/lib/e_plat/mapping/shopify/v_2026_10/order.rb +26 -0
  7. data/lib/e_plat/mapping/shopify/v_2026_10/product/image.rb +52 -0
  8. data/lib/e_plat/mapping/shopify/v_2026_10/product/option.rb +45 -0
  9. data/lib/e_plat/mapping/shopify/v_2026_10/product/variant/option_value.rb +58 -0
  10. data/lib/e_plat/mapping/shopify/v_2026_10/product/variant.rb +179 -0
  11. data/lib/e_plat/mapping/shopify/v_2026_10/product.rb +100 -0
  12. data/lib/e_plat/mapping/shopify/v_2026_10/script_tag.rb +26 -0
  13. data/lib/e_plat/mapping/shopify/v_2026_10/shop.rb +26 -0
  14. data/lib/e_plat/mapping/shopify/v_2026_10/webhook.rb +29 -0
  15. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2026_10/input/product/variant.rb +84 -0
  16. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2026_10/input/product/variants_bulk.rb +56 -0
  17. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2026_10/input/product.rb +36 -0
  18. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2026_10/input.rb +133 -0
  19. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2026_10/mutation/product/variant.rb +98 -0
  20. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2026_10/mutation/product.rb +63 -0
  21. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2026_10/mutation.rb +5 -0
  22. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2026_10/query/product/variant.rb +44 -0
  23. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2026_10/query/product.rb +58 -0
  24. data/lib/e_plat/resource/platform_specific/shopify/graph_q_l/v_2026_10/query.rb +5 -0
  25. data/lib/e_plat/resource/platform_specific/shopify/product/variant.rb +6 -1
  26. data/lib/e_plat/version.rb +1 -1
  27. data/lib/e_plat.rb +2 -2
  28. metadata +23 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f97875697b04e12d0fd6514ae9198d03022199c064d0c752ffa60a7f024c13e
4
- data.tar.gz: e8ebc93252048ff24b128d3f46125d6709fccf66dc95578ab5267bb842d0011c
3
+ metadata.gz: 55fdab06c94d4e74016bfe70a2f8c03871da089263c638ad5fce129aa9da611a
4
+ data.tar.gz: 57ff4e8fbd534816fa7dec5c8abc898d234a45589cb4eb555220972e29a1167b
5
5
  SHA512:
6
- metadata.gz: 0405d140e821f967cd7266006fd79881b8da73c6fe9bba9e82f337326d5f604392627e7c77e9e399a3a4b278aa8daee2590ca667b2834344e740799acce462a0
7
- data.tar.gz: 4305d78ed5fb650cd21034bd450c7fca9ed3cdf4af8432202b2dfc888fc1ee2f9ef6c2d97e3a74f7044d110fffc03cd7255e2ac9abdad09b8fbdf7e65e94c2a6
6
+ metadata.gz: 4ccf5a2355c3ae4f92f5ea3cdc0017ced1a777a598ef30fb5a889545669b976c346b6e6a8a0c7138c9ac38096d42c23452f7f66d8fe6ab0ff1b43f545bf1388c
7
+ data.tar.gz: c0ec371c3658b5d12a532911acdd303f8ad834d013e70c49a3eb23ac0fc9c7d188c906c1faff2239418c187cbbb3a13f467af4e7db590918b8b9838f31964a14
data/README.md CHANGED
@@ -48,12 +48,12 @@ To your gemfile and then run
48
48
  You can configure which platform APIs are used by updating the EPlat config: <br/>
49
49
  ```ruby
50
50
  #initializers/e_plat.rb
51
- EPlat.config.shopify_api_version = "2026-04"
51
+ EPlat.config.shopify_api_version = "2026-10"
52
52
  EPlat.config.bigcommerce_api_version = "v3"
53
53
  EPlat.config.woocommerce_api_version = "v3"
54
54
 
55
- # EPlat.api_display_name.shopify #=> "2026-04" # presents as the platform would display in URL paths
56
- # EPlat.config.shopify_api_version #=> "2026_04" # coerced interally for creating constants
55
+ # EPlat.api_display_name.shopify #=> "2026-10" # presents as the platform would display in URL paths
56
+ # EPlat.config.shopify_api_version #=> "2026_10" # coerced interally for creating constants
57
57
  # EPlat.config.print_graphql_requests #=> false # prints out Shopify graphql queries/mutations to the console
58
58
  ```
59
59
  <br>
@@ -67,7 +67,7 @@ To run the test for the default versions of all supported platforms:
67
67
 
68
68
  To run with specific api versions, you can set globals inline
69
69
  ```
70
- EPLAT_SHOPIFY_API_VERSION=2026_04 EPLAT_BIGCOMMERCE_API_VERSION=v3 rails test
70
+ EPLAT_SHOPIFY_API_VERSION=2026_10 EPLAT_BIGCOMMERCE_API_VERSION=v3 rails test
71
71
  ```
72
72
 
73
73
  To print out Shopify GraphQL queries/mutations
@@ -149,7 +149,7 @@ EPlat is designed to let you mostly use it's universal interface, but then easil
149
149
  tag.save
150
150
 
151
151
  # ...when session is a Shopify store
152
- # POST https://preproduct-test.myshopify.com/admin/api/2026-04/script_tags.json
152
+ # POST https://preproduct-test.myshopify.com/admin/api/2026-10/script_tags.json
153
153
  # body: '{"script_tag":{"display_scope":"online_store","event":"onload","src":"https://preproduct.io/mini-script.js"}}'
154
154
  #
155
155
  # ...when session is a BigCommerce store
@@ -943,8 +943,8 @@ EPlat::Product.find(99, from: "/product/1/specific_url.json") #GET /product/1/sp
943
943
  EPlat::Product.count # 2
944
944
 
945
945
  # Nested resources - pass in the parent resource's ID to the params hash
946
- EPlat::Product::Variant.find(variant_id, params: {product: product.id}) # /admin/api/2026-04/products/{{ product.id }}/variants/{{ variant_id }}.json
947
- EPlat::Product::Variant.collection_path(product: 5) # /admin/api/2026-04/products/5/variants.json
946
+ EPlat::Product::Variant.find(variant_id, params: {product: product.id}) # /admin/api/2026-10/products/{{ product.id }}/variants/{{ variant_id }}.json
947
+ EPlat::Product::Variant.collection_path(product: 5) # /admin/api/2026-10/products/5/variants.json
948
948
 
949
949
 
950
950
 
@@ -0,0 +1,26 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Shopify
4
+ module V202610 #< :module
5
+ class Metafield < EPlat::Mapping::Base
6
+
7
+ def native_top_key
8
+ "metafield"
9
+ end
10
+
11
+ def native_attributes
12
+ super.concat([
13
+ ])
14
+ end
15
+
16
+ def native_attribute_aliases
17
+ super.concat([
18
+ ])
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
@@ -0,0 +1,14 @@
1
+
2
+
3
+ module EPlat
4
+ class Mapping
5
+ module Shopify
6
+ module V202610
7
+ class Order
8
+ class BillingAddress < ShippingAddress; end
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
14
+
@@ -0,0 +1,30 @@
1
+
2
+
3
+ module EPlat
4
+ class Mapping
5
+ module Shopify
6
+ module V202610
7
+ class Order
8
+ class ShippingAddress < EPlat::Mapping::Base
9
+
10
+ def native_top_key
11
+ :itself
12
+ end
13
+
14
+ def native_attributes
15
+ super.concat([
16
+ ])
17
+ end
18
+
19
+ def native_attribute_aliases
20
+ super.concat([
21
+ ])
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+
@@ -0,0 +1,26 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Shopify
4
+ module V202610 #< :module
5
+ class Order < EPlat::Mapping::Base
6
+
7
+ def native_top_key
8
+ "order"
9
+ end
10
+
11
+ def native_attributes
12
+ super.concat([
13
+ ])
14
+ end
15
+
16
+ def native_attribute_aliases
17
+ super.concat([
18
+ ])
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
@@ -0,0 +1,52 @@
1
+
2
+
3
+ module EPlat
4
+ class Mapping
5
+ module Shopify
6
+ module V202610
7
+ class Product
8
+ class Image < EPlat::Mapping::Base
9
+
10
+ def native_top_key
11
+ :itself
12
+ end
13
+
14
+ def native_attributes
15
+ super.concat([
16
+ "id",
17
+ "alt_text", #would be altText before and after EPlat processes it
18
+ "width",
19
+ "height",
20
+ "url"
21
+ ])
22
+ end
23
+
24
+ def native_attribute_aliases
25
+ super.concat([
26
+ {
27
+ existing_entry: {native_key: "id", e_plat_key: "id",
28
+ custom_e_plat_getter: '-> { _1.try(:split, "/")&.last || _1 }',
29
+ custom_native_setter: '-> { "gid://shopify/ProductImage/#{_1}" }'
30
+ }
31
+ },
32
+ {
33
+ alias_attribute: {native_key: "alt_text", e_plat_key: "alt"}
34
+ },
35
+ {
36
+ existing_entry: {native_key: "width", e_plat_key: "width"}
37
+ },
38
+ {
39
+ existing_entry: {native_key: "height", e_plat_key: "height"}
40
+ },
41
+ {
42
+ alias_attribute: {native_key: "url", e_plat_key: "src"}
43
+ }
44
+ ])
45
+ end
46
+
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,45 @@
1
+
2
+
3
+ module EPlat
4
+ class Mapping
5
+ module Shopify
6
+ module V202610
7
+ class Product
8
+ class Option < EPlat::Mapping::Base
9
+ include_root_in_request_body true
10
+
11
+ def native_top_key
12
+ :itself
13
+ end
14
+
15
+ def native_attributes
16
+ super
17
+ end
18
+
19
+ def native_attribute_aliases
20
+ super.concat([
21
+
22
+ {
23
+ existing_entry: {native_key: "id", e_plat_key: "id",
24
+ custom_e_plat_getter: '-> { _1&.split("/")&.last }',
25
+ custom_native_setter: '-> { "gid://shopify/ProductOption/#{_1}" }'
26
+ }
27
+ },
28
+ {
29
+ existing_entry: {native_key: "name", e_plat_key: "name"}
30
+ },
31
+ {
32
+ existing_entry: {native_key: "position", e_plat_key: "position"}
33
+ },
34
+ {
35
+ existing_entry: {native_key: "values", e_plat_key: "values"}
36
+ }
37
+ ])
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,58 @@
1
+
2
+
3
+ module EPlat
4
+ class Mapping
5
+ module Shopify
6
+ module V202610
7
+ class Product::Variant
8
+ class OptionValue < EPlat::Mapping::Base
9
+ include_root_in_request_body true
10
+
11
+ def native_top_key
12
+ :itself
13
+ end
14
+
15
+ def native_attributes
16
+ super.concat([
17
+ ])
18
+ end
19
+
20
+
21
+ def native_attribute_aliases
22
+ super.concat([
23
+ # see virtual_collection @ EPlat::Mapping::VirtualCollection::Shopify::Product::Variant::OptionValue
24
+ ])
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+
34
+
35
+ # bigcommerce
36
+ # option_values => [{
37
+ # "id": 174,
38
+ # "label": "Beige",
39
+ # "option_id": 220,
40
+ # "option_display_name": "Color"
41
+ # }]
42
+
43
+ # shopify
44
+ # selected_options => [{
45
+ # "name"=>"Size",
46
+ # "value"=>"green",
47
+ # "option_value" => {
48
+ # "id"=>"gid://shopify/ProductOptionValue/657155129475",
49
+ # "name"=>"green"
50
+ # }
51
+ # }]
52
+
53
+ # target e_plat schema
54
+ # option_values => [{
55
+ # "id": 174,
56
+ # "name": "Color",
57
+ # "value": "Beige",
58
+ # }]
@@ -0,0 +1,179 @@
1
+
2
+
3
+ module EPlat
4
+ class Mapping
5
+ module Shopify
6
+ module V202610
7
+ class Product
8
+ class Variant < EPlat::Mapping::Base
9
+ include_root_in_request_body true
10
+ virtual_collection :option_values, class: EPlat::Mapping::VirtualCollection::Shopify::Product::Variant::OptionValue, map_from: "selected_options"
11
+
12
+ def native_top_key
13
+ :itself
14
+ end
15
+
16
+ def native_attributes
17
+ super
18
+ end
19
+
20
+ def native_attribute_aliases
21
+ super.concat([
22
+ {
23
+ existing_entry: {native_key: "id", e_plat_key: "id",
24
+ custom_e_plat_getter: '-> { (_1.is_a? Integer) ? _1 : _1&.split("/")&.last }',
25
+ custom_native_setter: '-> { (_1.is_a? String) ? _1 : "gid://shopify/ProductVariant/#{_1}" }'
26
+ }
27
+ },
28
+ {
29
+ existing_entry: {native_key: "product_id", e_plat_key: "product_id",
30
+ custom_e_plat_getter: '-> { (_1.is_a? Integer) ? _1 : _1&.split("/")&.last }',
31
+ custom_native_setter: '-> { (_1.is_a? String) ? _1 : "gid://shopify/Product/#{_1}" }'
32
+ }
33
+ },
34
+ {
35
+ existing_entry: {native_key: "title", e_plat_key: "title"}
36
+ },
37
+ {
38
+ existing_entry: {native_key: "price", e_plat_key: "price"}
39
+ },
40
+ {
41
+ existing_entry: {native_key: "sku", e_plat_key: "sku",
42
+ custom_e_plat_getter: '-> { _1 }',
43
+ custom_native_setter: '-> do
44
+ inventory_item.sku = _1;
45
+ inventory_item.attribute_will_change!("sku");
46
+ _1
47
+ end'
48
+ }
49
+ },
50
+ {
51
+ existing_entry: {native_key: "position", e_plat_key: "position"}
52
+ },
53
+ {
54
+ existing_entry: {native_key: "inventory_policy", e_plat_key: "inventory_policy",
55
+ custom_e_plat_getter: '-> { _1&.downcase }',
56
+ custom_native_setter: '-> { _1&.upcase }'
57
+ }
58
+ },
59
+ {
60
+ existing_entry: {native_key: "compare_at_price", e_plat_key: "compare_at_price"}
61
+ },
62
+ {
63
+ alias_attribute: {native_key: "inventory_item[tracked]", e_plat_key: "inventory_management"}
64
+ },
65
+ {
66
+
67
+ existing_entry: {native_key: "created_at", e_plat_key: "created_at"}
68
+ },
69
+ {
70
+ existing_entry: {native_key: "updated_at", e_plat_key: "updated_at"}
71
+ },
72
+ {
73
+ existing_entry: {native_key: "taxable", e_plat_key: "taxable"}
74
+ },
75
+ {
76
+ alias_attribute: {native_key: "inventory_item[measurement][weight][unit]", e_plat_key: "weight_unit",
77
+ custom_native_setter: '-> { warn("Setting weight_unit directly is not supported on ProductVariant via GraphQL."); _1 }'
78
+ }
79
+ },
80
+ {
81
+ alias_attribute: {native_key: "inventory_item[measurement][weight][value]", e_plat_key: "weight",
82
+ custom_native_setter: '-> { warn("Setting weight directly is not supported on ProductVariant via GraphQL."); _1 }'
83
+ }
84
+ },
85
+ {
86
+ alias_attribute: {native_key: "inventory_item[id]", e_plat_key: "inventory_item_id",
87
+ custom_e_plat_getter: '-> { _1&.split("/")&.last }',
88
+ custom_native_setter: '-> { "gid://shopify/InventoryItem/#{_1}" }'
89
+ }
90
+ },
91
+ {
92
+ existing_entry: {native_key: "inventory_quantity", e_plat_key: "inventory_quantity",
93
+ custom_native_setter: '-> { warn("Setting inventory_quantity directly is not supported on ProductVariant via GraphQL."); _1 }'
94
+ }
95
+ },
96
+ {
97
+ alias_attribute: {native_key: "inventory_item[requires_shipping]", e_plat_key: "requires_shipping",
98
+ custom_native_setter: '-> { warn("Setting requires_shipping directly is not supported on ProductVariant via GraphQL."); _1 }'
99
+ }
100
+ },
101
+ {
102
+ existing_entry: {native_key: "fulfillment_service", e_plat_key: "fulfillment_service"}
103
+ },
104
+ {
105
+ existing_entry: {native_key: "grams", e_plat_key: "grams", # doesnt exist on any current API but we create it
106
+ custom_e_plat_getter: '-> {
107
+ _1
108
+ case weight_unit
109
+ when "GRAMS", "grams", "g"
110
+ weight
111
+ when "KILOGRAMS", "kilograms", "kg"
112
+ weight * 1000
113
+ when "OUNCES", "ounces", "oz"
114
+ weight * 28.3495
115
+ when "POUNDS", "pounds", "lb"
116
+ weight * 453.592
117
+ else
118
+ weight
119
+ end
120
+ }',
121
+ custom_native_setter: '-> {
122
+ warn("Setting grams directly is not supported on ProductVariant via GraphQL. Mutate the inventoryItem.measurement.weight object `value` field instead")
123
+ case weight_unit
124
+ when "GRAMS", "grams", "g"
125
+ _1
126
+ when "KILOGRAMS", "kilograms", "kg"
127
+ _1 / 1000
128
+ when "OUNCES", "ounces", "oz"
129
+ _1 / 28.3495
130
+ when "POUNDS", "pounds", "lb"
131
+ _1 / 453.592
132
+ else
133
+ _1
134
+ end
135
+ }'
136
+ }
137
+ }
138
+
139
+ ])
140
+ end
141
+
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
148
+
149
+ # RESOURCE
150
+ # integer :id
151
+ # integer :product_id
152
+ # string :title
153
+ # string :price
154
+ # string :sku
155
+ # integer :position
156
+ # string :inventory_policy
157
+ # string :compare_at_price
158
+ # string :fulfillment_service
159
+ # string :inventory_management
160
+ # datetime :created_at
161
+ # datetime :updated_at
162
+ # boolean :taxable
163
+ # string :barcode
164
+ # integer :grams
165
+ # integer :image_id
166
+ # float :weight
167
+ # string :weight_unit
168
+ # integer :inventory_item_id
169
+ # integer :inventory_quantity
170
+ # boolean :requires_shipping
171
+ # string :admin_graphql_api_id
172
+
173
+
174
+ # fields without setter support
175
+ # | grams | integer | getter only: converted node.inventoryItem[measurement][weight][value] | nil | nil |
176
+ # | weight | float | getter only: node.inventoryItem[measurement][weight][value] | weight |
177
+ # | weight_unit | string | getter only: node.inventoryItem[measurement][weight][unit] | nil |
178
+ # | inventory_item_id | integer | getter only: node.inventoryItem[id]| nil | nil |
179
+ # | inventory_quantity | integer | getter only: node.inventoryQuantity | inventory_level
@@ -0,0 +1,100 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Shopify
4
+ module V202610 #< :module
5
+ class Product < EPlat::Mapping::Base
6
+
7
+ def native_top_key
8
+ "product"
9
+ end
10
+
11
+ def native_attributes
12
+ super.concat([
13
+ "id",
14
+ "descriptionHtml",
15
+ "createdAt",
16
+ "updatedAt",
17
+ "handle",
18
+ "productType",
19
+ "publishedAt",
20
+ "publishedScope",
21
+ "status",
22
+ "tags",
23
+ "templateSuffix",
24
+ "title",
25
+ "vendor"
26
+ ])
27
+ end
28
+
29
+ def native_attribute_aliases
30
+ super.concat([
31
+ {
32
+ alias_attribute: {native_key: "description_html", e_plat_key: "body_html"}
33
+ },
34
+ {
35
+ existing_entry: {native_key: "created_at", e_plat_key: "created_at"}
36
+ },
37
+ {
38
+ existing_entry: {native_key: "updated_at", e_plat_key: "updated_at"}
39
+ },
40
+ {
41
+ existing_entry: {native_key: "handle", e_plat_key: "handle"}
42
+ },
43
+ {
44
+ existing_entry: {native_key: "product_type", e_plat_key: "product_type"}
45
+ },
46
+ {
47
+ existing_entry: {native_key: "published_at", e_plat_key: "published_at"}
48
+ },
49
+ {
50
+ existing_entry: {native_key: "status", e_plat_key: "status",
51
+ custom_e_plat_getter: '-> { _1&.downcase }',
52
+ custom_native_setter: '-> { _1&.upcase }'
53
+ }
54
+ },
55
+ {
56
+ existing_entry: {native_key: "tags", e_plat_key: "tags",
57
+ custom_e_plat_getter: "-> { _1&.join(',') }",
58
+ custom_native_setter: "-> { _1&.split(',') }"
59
+ }
60
+ },
61
+ {
62
+ existing_entry: {native_key: "id", e_plat_key: "id",
63
+ custom_e_plat_getter: '-> { (_1.is_a? Integer) ? _1 : _1&.split("/")&.last }',
64
+ custom_native_setter: '-> { (_1.is_a? String) ? _1 : "gid://shopify/Product/#{_1}" }'
65
+ }
66
+ },
67
+ {
68
+ existing_entry: {native_key: "template_suffix", e_plat_key: "template_suffix"}
69
+ },
70
+ {
71
+ existing_entry: {native_key: "title", e_plat_key: "title"}
72
+ },
73
+ {
74
+ existing_entry: {native_key: "vendor", e_plat_key: "vendor"}
75
+ }
76
+ ])
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+
84
+
85
+ # string :body_html
86
+ # datetime :created_at
87
+ # string :handle
88
+ # integer :id
89
+ # array :images
90
+ # array :options
91
+ # string :product_type
92
+ # datetime :published_at
93
+ # string :status
94
+ # string :tags
95
+ # string :admin_graphql_api_id
96
+ # string :template_suffix
97
+ # string :title
98
+ # datetime :updated_at
99
+ # array :variants
100
+ # string :vendor
@@ -0,0 +1,26 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Shopify
4
+ module V202610 #< :module
5
+ class ScriptTag < EPlat::Mapping::Base
6
+
7
+ def native_top_key
8
+ "script_tag"
9
+ end
10
+
11
+ def native_attributes
12
+ super.concat([
13
+ ])
14
+ end
15
+
16
+ def native_attribute_aliases
17
+ super.concat([
18
+ ])
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
@@ -0,0 +1,26 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Shopify
4
+ module V202610 #< :module
5
+ class Shop < EPlat::Mapping::Base
6
+
7
+ def native_top_key
8
+ "shop"
9
+ end
10
+
11
+ def native_attributes
12
+ super.concat([
13
+ ])
14
+ end
15
+
16
+ def native_attribute_aliases
17
+ super.concat([
18
+ ])
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
@@ -0,0 +1,29 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Shopify
4
+ module V202610 #< :module
5
+ class Webhook < EPlat::Mapping::Base
6
+ DEFAULT_VALUES = {
7
+ format: "json"
8
+ }
9
+
10
+ def native_top_key
11
+ "webhook"
12
+ end
13
+
14
+ def native_attributes
15
+ super.concat([
16
+ ])
17
+ end
18
+
19
+ def native_attribute_aliases
20
+ super.concat([
21
+ ])
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+