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.
- checksums.yaml +4 -4
- data/README.md +630 -131
- data/lib/active_resource/connection_error.rb +29 -0
- data/lib/active_resource/formats.rb +27 -0
- data/lib/current.rb +1 -1
- data/lib/e_plat/client/default_request_args.rb +27 -3
- data/lib/e_plat/client.rb +114 -87
- data/lib/e_plat/connection.rb +4 -0
- data/lib/e_plat/mapping/base.rb +119 -12
- data/lib/e_plat/mapping/bigcommerce/v_3/metafield.rb +62 -0
- data/lib/e_plat/mapping/bigcommerce/v_3/order/billing_address.rb +14 -0
- data/lib/e_plat/mapping/bigcommerce/v_3/order/line_item.rb +85 -0
- data/lib/e_plat/mapping/bigcommerce/v_3/order/shipping_address.rb +73 -0
- data/lib/e_plat/mapping/bigcommerce/v_3/order.rb +160 -0
- data/lib/e_plat/mapping/bigcommerce/v_3/product/image.rb +12 -12
- data/lib/e_plat/mapping/bigcommerce/v_3/product/variant.rb +1 -1
- data/lib/e_plat/mapping/bigcommerce/v_3/script_tag.rb +78 -0
- data/lib/e_plat/mapping/bigcommerce/v_3/shop.rb +11 -6
- data/lib/e_plat/mapping/bigcommerce/v_3/webhook.rb +54 -0
- data/lib/e_plat/mapping/request_body_root.rb +38 -0
- data/lib/e_plat/mapping/shopify/v_2024_01/metafield.rb +26 -0
- data/lib/e_plat/mapping/shopify/v_2024_01/order/billing_address.rb +14 -0
- data/lib/e_plat/mapping/shopify/v_2024_01/order/shipping_address.rb +30 -0
- data/lib/e_plat/mapping/shopify/{v_2022_07/product.rb → v_2024_01/order.rb} +3 -3
- data/lib/e_plat/mapping/shopify/{v_2022_07 → v_2024_01}/product/image.rb +1 -1
- data/lib/e_plat/mapping/shopify/{v_2022_07 → v_2024_01}/product/variant.rb +2 -1
- data/lib/e_plat/mapping/shopify/v_2024_01/product.rb +26 -0
- data/lib/e_plat/mapping/shopify/v_2024_01/script_tag.rb +26 -0
- data/lib/e_plat/mapping/shopify/{v_2022_07 → v_2024_01}/shop.rb +1 -1
- data/lib/e_plat/mapping/shopify/v_2024_01/webhook.rb +29 -0
- data/lib/e_plat/mapping/virtual_collection/base.rb +14 -0
- data/lib/e_plat/mapping/virtual_collection/bigcommerce/order_line_items.rb +297 -0
- data/lib/e_plat/mapping.rb +3 -3
- data/lib/e_plat/resource/attribute_interface.rb +28 -28
- data/lib/e_plat/resource/base.rb +107 -66
- data/lib/e_plat/resource/collection.rb +92 -0
- data/lib/e_plat/resource/concerns/aliases.rb +102 -18
- data/lib/e_plat/resource/concerns/dirty.rb +54 -0
- data/lib/e_plat/resource/concerns/metafieldable.rb +43 -0
- data/lib/e_plat/resource/concerns/overwrite_instance_methods.rb +108 -6
- data/lib/e_plat/resource/concerns/overwrite_request_methods.rb +73 -37
- data/lib/e_plat/resource/countable.rb +43 -0
- data/lib/e_plat/resource/metafield.rb +70 -0
- data/lib/e_plat/resource/order/Consignment.rb +8 -0
- data/lib/e_plat/resource/order/billing_address.rb +6 -0
- data/lib/e_plat/resource/order/fulfillment.rb +1 -0
- data/lib/e_plat/resource/order/line_item.rb +1 -0
- data/lib/e_plat/resource/order/shipping_address.rb +44 -0
- data/lib/e_plat/resource/order/shipping_line.rb +15 -14
- data/lib/e_plat/resource/order.rb +32 -0
- data/lib/e_plat/resource/paginated/link_headers.rb +42 -0
- data/lib/e_plat/resource/paginated/link_params.rb +26 -0
- data/lib/e_plat/resource/product/image.rb +6 -0
- data/lib/e_plat/resource/product/option.rb +1 -0
- data/lib/e_plat/resource/product/variant.rb +8 -12
- data/lib/e_plat/resource/product.rb +8 -2
- data/lib/e_plat/resource/script_tag.rb +56 -0
- data/lib/e_plat/resource/shop.rb +17 -13
- data/lib/e_plat/resource/shopify_only/recurring_application_charge/usage_charge.rb +32 -0
- data/lib/e_plat/resource/shopify_only/recurring_application_charge.rb +47 -0
- data/lib/e_plat/resource/webhook.rb +50 -0
- data/lib/e_plat/session.rb +10 -7
- data/lib/e_plat/type_coercer.rb +15 -17
- data/lib/e_plat/version.rb +1 -1
- data/lib/e_plat.rb +4 -3
- metadata +55 -9
- 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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
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:
|
33
|
+
existing_entry: {native_key: "id", e_plat_key: "id"},
|
34
34
|
},
|
35
35
|
{
|
36
|
-
existing_entry:
|
36
|
+
existing_entry: {native_key: "product_id", e_plat_key: "product_id"},
|
37
37
|
},
|
38
38
|
{
|
39
|
-
|
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
|
-
|
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",
|
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
|
-
|
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,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
|
5
|
-
class
|
4
|
+
module V202401 #< :module
|
5
|
+
class Order < EPlat::Mapping::Base
|
6
6
|
|
7
7
|
def native_top_key
|
8
|
-
"
|
8
|
+
"order"
|
9
9
|
end
|
10
10
|
|
11
11
|
def native_attributes
|
@@ -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
|
+
|