e_plat 0.3.0 → 0.4.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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +630 -131
  3. data/lib/active_resource/connection_error.rb +29 -0
  4. data/lib/active_resource/formats.rb +27 -0
  5. data/lib/current.rb +1 -1
  6. data/lib/e_plat/client/default_request_args.rb +27 -3
  7. data/lib/e_plat/client.rb +114 -87
  8. data/lib/e_plat/connection.rb +4 -0
  9. data/lib/e_plat/mapping/base.rb +119 -12
  10. data/lib/e_plat/mapping/bigcommerce/v_3/metafield.rb +62 -0
  11. data/lib/e_plat/mapping/bigcommerce/v_3/order/billing_address.rb +14 -0
  12. data/lib/e_plat/mapping/bigcommerce/v_3/order/line_item.rb +85 -0
  13. data/lib/e_plat/mapping/bigcommerce/v_3/order/shipping_address.rb +73 -0
  14. data/lib/e_plat/mapping/bigcommerce/v_3/order.rb +160 -0
  15. data/lib/e_plat/mapping/bigcommerce/v_3/product/image.rb +12 -12
  16. data/lib/e_plat/mapping/bigcommerce/v_3/product/variant.rb +1 -1
  17. data/lib/e_plat/mapping/bigcommerce/v_3/script_tag.rb +78 -0
  18. data/lib/e_plat/mapping/bigcommerce/v_3/shop.rb +11 -6
  19. data/lib/e_plat/mapping/bigcommerce/v_3/webhook.rb +54 -0
  20. data/lib/e_plat/mapping/request_body_root.rb +38 -0
  21. data/lib/e_plat/mapping/shopify/v_2024_01/metafield.rb +26 -0
  22. data/lib/e_plat/mapping/shopify/v_2024_01/order/billing_address.rb +14 -0
  23. data/lib/e_plat/mapping/shopify/v_2024_01/order/shipping_address.rb +30 -0
  24. data/lib/e_plat/mapping/shopify/{v_2022_07/product.rb → v_2024_01/order.rb} +3 -3
  25. data/lib/e_plat/mapping/shopify/{v_2022_07 → v_2024_01}/product/image.rb +1 -1
  26. data/lib/e_plat/mapping/shopify/{v_2022_07 → v_2024_01}/product/variant.rb +2 -1
  27. data/lib/e_plat/mapping/shopify/v_2024_01/product.rb +26 -0
  28. data/lib/e_plat/mapping/shopify/v_2024_01/script_tag.rb +26 -0
  29. data/lib/e_plat/mapping/shopify/{v_2022_07 → v_2024_01}/shop.rb +1 -1
  30. data/lib/e_plat/mapping/shopify/v_2024_01/webhook.rb +29 -0
  31. data/lib/e_plat/mapping/virtual_collection/base.rb +14 -0
  32. data/lib/e_plat/mapping/virtual_collection/bigcommerce/order_line_items.rb +297 -0
  33. data/lib/e_plat/mapping.rb +3 -3
  34. data/lib/e_plat/resource/attribute_interface.rb +28 -28
  35. data/lib/e_plat/resource/base.rb +107 -66
  36. data/lib/e_plat/resource/collection.rb +92 -0
  37. data/lib/e_plat/resource/concerns/aliases.rb +102 -18
  38. data/lib/e_plat/resource/concerns/dirty.rb +54 -0
  39. data/lib/e_plat/resource/concerns/metafieldable.rb +43 -0
  40. data/lib/e_plat/resource/concerns/overwrite_instance_methods.rb +108 -6
  41. data/lib/e_plat/resource/concerns/overwrite_request_methods.rb +73 -37
  42. data/lib/e_plat/resource/countable.rb +43 -0
  43. data/lib/e_plat/resource/metafield.rb +70 -0
  44. data/lib/e_plat/resource/order/Consignment.rb +8 -0
  45. data/lib/e_plat/resource/order/billing_address.rb +6 -0
  46. data/lib/e_plat/resource/order/fulfillment.rb +1 -0
  47. data/lib/e_plat/resource/order/line_item.rb +1 -0
  48. data/lib/e_plat/resource/order/shipping_address.rb +44 -0
  49. data/lib/e_plat/resource/order/shipping_line.rb +15 -14
  50. data/lib/e_plat/resource/order.rb +32 -0
  51. data/lib/e_plat/resource/paginated/link_headers.rb +42 -0
  52. data/lib/e_plat/resource/paginated/link_params.rb +26 -0
  53. data/lib/e_plat/resource/product/image.rb +6 -0
  54. data/lib/e_plat/resource/product/option.rb +1 -0
  55. data/lib/e_plat/resource/product/variant.rb +8 -12
  56. data/lib/e_plat/resource/product.rb +8 -2
  57. data/lib/e_plat/resource/script_tag.rb +56 -0
  58. data/lib/e_plat/resource/shop.rb +17 -13
  59. data/lib/e_plat/resource/shopify_only/recurring_application_charge/usage_charge.rb +32 -0
  60. data/lib/e_plat/resource/shopify_only/recurring_application_charge.rb +47 -0
  61. data/lib/e_plat/resource/webhook.rb +50 -0
  62. data/lib/e_plat/session.rb +10 -7
  63. data/lib/e_plat/type_coercer.rb +15 -17
  64. data/lib/e_plat/version.rb +1 -1
  65. data/lib/e_plat.rb +4 -3
  66. metadata +55 -9
  67. data/lib/e_plat/resource/order/customer.rb +0 -37
@@ -0,0 +1,73 @@
1
+
2
+ module EPlat
3
+ class Mapping
4
+ module Bigcommerce
5
+ module V3
6
+ class Order::ShippingAddress < EPlat::Mapping::Base
7
+
8
+ def native_top_key
9
+ "data"
10
+ end
11
+
12
+ def native_attributes
13
+ super.concat([
14
+ "first_name",
15
+ "last_name",
16
+ "company",
17
+ "street_1",
18
+ "street_2",
19
+ "city",
20
+ "state",
21
+ "zip",
22
+ "country",
23
+ "country_iso2",
24
+ "phone",
25
+ "email",
26
+ "form_fields"
27
+ ])
28
+ end
29
+
30
+ def native_attribute_aliases
31
+ super.concat([
32
+ {
33
+ alias_attribute: {native_key: "street_1", e_plat_key: "address1"}
34
+ },
35
+ {
36
+ alias_attribute: {native_key: "street_2", e_plat_key: "address2"}
37
+ },
38
+ {
39
+ existing_entry: {native_key: "city", e_plat_key: "city"}
40
+ },
41
+ {
42
+ existing_entry: {native_key: "company", e_plat_key: "company"}
43
+ },
44
+ {
45
+ existing_entry: {native_key: "country", e_plat_key: "country"}
46
+ },
47
+ {
48
+ existing_entry: {native_key: "first_name", e_plat_key: "first_name"}
49
+ },
50
+ {
51
+ existing_entry: {native_key: "last_name", e_plat_key: "last_name"}
52
+ },
53
+ {
54
+ existing_entry: {native_key: "phone", e_plat_key: "phone"}
55
+ },
56
+ {
57
+ alias_attribute: {native_key: "state", e_plat_key: "province"}
58
+ },
59
+ {
60
+ existing_entry: {native_key: "zip", e_plat_key: "zip"}
61
+ },
62
+ {
63
+ alias_attribute: {native_key: "country_iso2", e_plat_key: "country_code"}
64
+ }
65
+ # NOTE: BigCommerce doesn't provide fields for province_code, latitude, longitude, or a direct mapping for name
66
+ ])
67
+ end
68
+
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,160 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Bigcommerce
4
+ module V3 #v2 used, as v3 order not yet available
5
+ class Order < EPlat::Mapping::Base
6
+ virtual_collection :line_items, class: EPlat::Mapping::VirtualCollection::Bigcommerce::OrderLineItems, map_from: "consignments"
7
+
8
+ def native_top_key
9
+ "data"
10
+ end
11
+
12
+ def native_attributes
13
+ super.concat([
14
+ "id",
15
+ "customer_id",
16
+ "date_created",
17
+ "date_modified",
18
+ "date_shipped",
19
+ "status_id",
20
+ "status",
21
+ "subtotal_ex_tax",
22
+ "subtotal_inc_tax",
23
+ "subtotal_tax",
24
+ "base_shipping_cost",
25
+ "shipping_cost_ex_tax",
26
+ "shipping_cost_inc_tax",
27
+ "shipping_cost_tax",
28
+ "shipping_cost_tax_class_id",
29
+ "base_handling_cost",
30
+ "handling_cost_ex_tax",
31
+ "handling_cost_inc_tax",
32
+ "handling_cost_tax",
33
+ "handling_cost_tax_class_id",
34
+ "base_wrapping_cost",
35
+ "wrapping_cost_ex_tax",
36
+ "wrapping_cost_inc_tax",
37
+ "wrapping_cost_tax",
38
+ "wrapping_cost_tax_class_id",
39
+ "total_ex_tax",
40
+ "total_inc_tax",
41
+ "total_tax",
42
+ "items_total",
43
+ "items_shipped",
44
+ "payment_method",
45
+ "payment_provider_id",
46
+ "payment_status",
47
+ "refunded_amount",
48
+ "order_is_digital",
49
+ "store_credit_amount",
50
+ "gift_certificate_amount",
51
+ "ip_address",
52
+ "ip_address_v6",
53
+ "geoip_country",
54
+ "geoip_country_iso2",
55
+ "currency_id",
56
+ "currency_code",
57
+ "currency_exchange_rate",
58
+ "default_currency_id",
59
+ "default_currency_code",
60
+ "staff_notes",
61
+ "customer_message",
62
+ "discount_amount",
63
+ "coupon_discount",
64
+ "shipping_address_count",
65
+ "is_deleted",
66
+ "ebay_order_id",
67
+ "cart_id",
68
+ "billing_address",
69
+ "is_email_opt_in",
70
+ "credit_card_type",
71
+ "order_source",
72
+ "channel_id",
73
+ "external_source",
74
+ "products",
75
+ "shipping_addresses",
76
+ "coupons",
77
+ "external_id",
78
+ "external_merchant_id",
79
+ "tax_provider_id",
80
+ "store_default_currency_code",
81
+ "store_default_to_transactional_exchange_rate",
82
+ "custom_status",
83
+ "customer_locale",
84
+ "external_order_id"
85
+ ])
86
+ end
87
+
88
+ def native_attribute_aliases
89
+ super.concat([
90
+ {
91
+ alias_attribute: {native_key: "date_created", e_plat_key: "created_at"}
92
+ },
93
+ {
94
+ alias_attribute: {native_key: "date_modified", e_plat_key: "updated_at"}
95
+ },
96
+ {
97
+ alias_attribute: {native_key: "status_id", e_plat_key: "financial_status",
98
+ custom_e_plat_getter: "-> (status_id) {
99
+ case status_id.to_i
100
+ when 1 then 'pending'
101
+ when 4 then 'refunded'
102
+ when 5 then 'cancelled' # not a valid status for Shopify. just used in this BG specific mapping
103
+ when 7 then 'unpaid'
104
+ when 11 then 'paid'
105
+ else nil
106
+ end
107
+ }",
108
+ custom_native_setter: "-> (financial_status) {
109
+ case financial_status
110
+ when 'pending' then 1
111
+ when 'refunded' then 4
112
+ when 'cancelled' then 5
113
+ when 'unpaid' then 7
114
+ when 'paid' then 11
115
+ else nil
116
+ end
117
+ }"
118
+ }
119
+ },
120
+ {
121
+ existing_entry: {native_key: "billing_address", e_plat_key: "billing_address"}
122
+ },
123
+ {
124
+ alias_attribute: {native_key: "currency_code", e_plat_key: "currency"}
125
+ },
126
+ {
127
+ alias_attribute: {native_key: 'subtotal_ex_tax', e_plat_key: 'subtotal_price'} #poundage string. eg "5.31"
128
+ },
129
+ {
130
+ existing_entry: {native_key: 'total_tax', e_plat_key: 'total_tax'} #poundage string. eg "5.31"
131
+ },
132
+ {
133
+ alias_attribute: {native_key: 'total_inc_tax', e_plat_key: 'total_price'} #poundage string. eg "5.31"
134
+ },
135
+ {
136
+ existing_entry: {native_key: 'id', e_plat_key: 'id'}
137
+ },
138
+ {
139
+ existing_entry: {native_key: 'customer_locale', e_plat_key: 'customer_locale'} #e.g. "en-{optional_country_code}"
140
+ },
141
+ {
142
+ alias_attribute: {native_key: "total_inc_tax", e_plat_key: "current_total_price"}
143
+ },
144
+ {
145
+ alias_attribute: {native_key: "discount_amount", e_plat_key: "current_total_discounts"} #poundage string. eg "9.99"
146
+ },
147
+ {
148
+ alias_attribute: {native_key: "staff_notes", e_plat_key: "note"}
149
+ },
150
+ {
151
+ alias_attribute: {native_key: "billing_address[email]", e_plat_key: "email"}
152
+ }
153
+ ])
154
+ end
155
+
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
@@ -15,28 +15,28 @@ module EPlat
15
15
  super.concat([
16
16
  "id",
17
17
  "product_id",
18
- "is_thumbnail",
19
- "sort_order",
20
- "description",
21
- "image_file",
22
- "url_zoom",
23
- "url_standard",
24
- "url_thumbnail",
25
- "url_tiny",
26
- "date_modified"
18
+ "is_thumbnail",
19
+ "sort_order",
20
+ "description",
21
+ "image_file",
22
+ "url_zoom",
23
+ "url_standard",
24
+ "url_thumbnail",
25
+ "url_tiny",
26
+ "date_modified"
27
27
  ])
28
28
  end
29
29
 
30
30
  def native_attribute_aliases
31
31
  super.concat([
32
32
  {
33
- existing_entry: {native_key: "id", e_plat_key: "id"},
33
+ existing_entry: {native_key: "id", e_plat_key: "id"},
34
34
  },
35
35
  {
36
- existing_entry: {native_key: "product_id", e_plat_key: "product_id"},
36
+ existing_entry: {native_key: "product_id", e_plat_key: "product_id"},
37
37
  },
38
38
  {
39
- existing_entry: {native_key: "url_standard", e_plat_key: "src"},
39
+ alias_attribute: {native_key: "url_standard", e_plat_key: "src"},
40
40
  },
41
41
  {
42
42
  alias_attribute: {native_key: "date_created", e_plat_key: "created_at"},
@@ -82,7 +82,7 @@ module EPlat
82
82
  existing_entry: {native_key: "weight", e_plat_key: "weight"}
83
83
  },
84
84
  {
85
- existing_entry: {native_key: "inventory_level", e_plat_key: "inventory_quantity"}
85
+ alias_attribute: {native_key: "inventory_level", e_plat_key: "inventory_quantity"}
86
86
  }
87
87
  ])
88
88
  end
@@ -0,0 +1,78 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Bigcommerce
4
+ module V3
5
+ class ScriptTag < EPlat::Mapping::Base
6
+ DEFAULT_VALUES = {
7
+ location: "head",
8
+ auto_uninstall: true,
9
+ kind: "src",
10
+ load_method: "async",
11
+ name: "app-script",
12
+ enabled: true
13
+ }
14
+
15
+ def native_top_key
16
+ "data"
17
+ end
18
+
19
+ def native_attributes
20
+ super.concat([
21
+ "name",
22
+ "description",
23
+ "html",
24
+ "src",
25
+ "auto_uninstall",
26
+ "load_method", # default | async | defer
27
+ "location", # head | footer
28
+ "visibility", # storefront | all_pages | checkout | order_confirmation
29
+ "kind", # src | script_tag
30
+ "api_client_id",
31
+ "consent_category",
32
+ "enabled",
33
+ "channel_id",
34
+ "date_created",
35
+ "date_modified",
36
+ "uuid"
37
+ ])
38
+ end
39
+
40
+ def native_attribute_aliases
41
+ super.concat([
42
+ {
43
+ existing_entry: {native_key: "src", e_plat_key: "src"}
44
+ },
45
+ {
46
+ alias_attribute: {native_key: "date_created", e_plat_key: "created_at"}
47
+ },
48
+ {
49
+ alias_attribute: {native_key: "date_modified", e_plat_key: "updated_at"}
50
+ },
51
+ {
52
+ alias_attribute: {native_key: "visibility", e_plat_key: "display_scope",
53
+ custom_e_plat_getter: "-> (value) {
54
+ case value
55
+ when 'storefront'; then 'online_store'
56
+ when 'all_pages'; then 'all'
57
+ when 'order_confirmation'; then 'order_status'
58
+ else value
59
+ end
60
+ }",
61
+ custom_native_setter: "-> (value) {
62
+ case value
63
+ when 'online_store'; then 'storefront'
64
+ when 'all'; then 'all_pages'
65
+ when 'order_status'; then 'order_confirmation'
66
+ else value
67
+ end
68
+ }"
69
+ }
70
+ }
71
+ ])
72
+ end
73
+
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -59,9 +59,12 @@ module EPlat
59
59
  end
60
60
 
61
61
  def native_attribute_aliases
62
- super.concat([
62
+ super.concat([
63
63
  {
64
- existing_entry: {native_key: "id", e_plat_key: "id"}
64
+ existing_entry: {native_key: "id", e_plat_key: "id",
65
+ custom_e_plat_getter: "-> (value) { nil }",
66
+ custom_native_setter: "-> (value) { nil }" # not compatible. one is string, one is integer
67
+ }
65
68
  },
66
69
  {
67
70
  existing_entry: {native_key: "name", e_plat_key: "name"}
@@ -70,7 +73,12 @@ module EPlat
70
73
  alias_attribute: {native_key: "admin_email", e_plat_key: "email"}
71
74
  },
72
75
  {
73
- existing_entry: {native_key: "domain", e_plat_key: "domain"}
76
+ alias_attribute: {native_key: "control_panel_base_url", e_plat_key: "myshopify_domain",
77
+ custom_e_plat_getter: "-> (value) { value.split('://').last }",
78
+ }
79
+ },
80
+ {
81
+ existing_entry: {native_key: "domain", e_plat_key: "domain"}
74
82
  },
75
83
  {
76
84
  existing_entry: {native_key: "country", e_plat_key: "country"}
@@ -84,9 +92,6 @@ module EPlat
84
92
  {
85
93
  existing_entry: {native_key: "currency_symbol", e_plat_key: "currency"}
86
94
  },
87
- {
88
- alias_attribute: {native_key: "currency_symbol", e_plat_key: "currency"}
89
- },
90
95
  {
91
96
  existing_entry: {native_key: "plan_name", e_plat_key: "plan_name"}
92
97
  },
@@ -0,0 +1,54 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Bigcommerce
4
+ module V3
5
+ class Webhook < EPlat::Mapping::Base
6
+ DEFAULT_VALUES = {
7
+ is_active: true
8
+ }
9
+
10
+ def native_top_key
11
+ "data"
12
+ end
13
+
14
+ def native_attributes
15
+ super.concat([
16
+ "id",
17
+ "client_id",
18
+ "store_hash",
19
+ "created_at",
20
+ "updated_at",
21
+ "scope",
22
+ "destination",
23
+ "is_active",
24
+ "headers"
25
+ ])
26
+ end
27
+
28
+ def native_attribute_aliases
29
+ super.concat([
30
+ {
31
+ existing_entry: {native_key: "id", e_plat_key: "id"}
32
+ },
33
+ {
34
+ existing_entry: {native_key: "created_at", e_plat_key: "created_at"}
35
+ },
36
+ {
37
+ existing_entry: {native_key: "updated_at", e_plat_key: "updated_at"}
38
+ },
39
+ {
40
+ alias_attribute: {native_key: "destination", e_plat_key: "address"}
41
+ },
42
+ {
43
+ alias_attribute: {native_key: "scope", e_plat_key: "topic"}
44
+ }
45
+ ])
46
+ end
47
+
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+
54
+
@@ -0,0 +1,38 @@
1
+ module EPlat
2
+ class Mapping
3
+ module RequestBodyRoot
4
+ extend ActiveSupport::Concern
5
+
6
+ included do
7
+ class << self
8
+ attr_accessor :root_in_request_body
9
+
10
+ def include_root_in_request_body(include) #<Boolean>
11
+ self.root_in_request_body = include
12
+ end
13
+ end
14
+ end
15
+
16
+ def include_root_in_request_body?(resource) #<EPlat::Resource>
17
+ return default_include_root_in_request_body(resource) if self.class.root_in_request_body.nil?
18
+
19
+ self.class.root_in_request_body
20
+ end
21
+
22
+ private
23
+
24
+ def default_include_root_in_request_body(resource)
25
+ resource.client.shopify?
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+
32
+
33
+ # class LovelyMapping < EPlat::Mapping::Base
34
+ # include_root_in_request_body true
35
+ #
36
+ # then from the resource
37
+ # variant.mapping.include_root_in_request_body?(variant)
38
+ #
@@ -0,0 +1,26 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Shopify
4
+ module V202401 #< :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 V202401
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 V202401
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
+
@@ -1,11 +1,11 @@
1
1
  module EPlat
2
2
  class Mapping
3
3
  module Shopify
4
- module V202207 #< :module
5
- class Product < EPlat::Mapping::Base
4
+ module V202401 #< :module
5
+ class Order < EPlat::Mapping::Base
6
6
 
7
7
  def native_top_key
8
- "product"
8
+ "order"
9
9
  end
10
10
 
11
11
  def native_attributes
@@ -3,7 +3,7 @@
3
3
  module EPlat
4
4
  class Mapping
5
5
  module Shopify
6
- module V202207
6
+ module V202401
7
7
  class Product
8
8
  class Image < EPlat::Mapping::Base
9
9
 
@@ -3,9 +3,10 @@
3
3
  module EPlat
4
4
  class Mapping
5
5
  module Shopify
6
- module V202207
6
+ module V202401
7
7
  class Product
8
8
  class Variant < EPlat::Mapping::Base
9
+ include_root_in_request_body true
9
10
 
10
11
  def native_top_key
11
12
  :itself
@@ -0,0 +1,26 @@
1
+ module EPlat
2
+ class Mapping
3
+ module Shopify
4
+ module V202401 #< :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
+ ])
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 V202401 #< :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
+
@@ -1,7 +1,7 @@
1
1
  module EPlat
2
2
  class Mapping
3
3
  module Shopify
4
- module V202207 #< :module
4
+ module V202401 #< :module
5
5
  class Shop < EPlat::Mapping::Base
6
6
 
7
7
  def native_top_key