Class: EPlat::Mapping::Bigcommerce::V3::Product::Option

Inherits:
EPlat::Mapping::Base show all
Defined in:
lib/e_plat/mapping/bigcommerce/v_3/product/option.rb

Constant Summary

Constants inherited from EPlat::Mapping::Base

EPlat::Mapping::Base::DEFAULT_VALUES

Instance Attribute Summary

Attributes inherited from EPlat::Mapping::Base

#resource, #virtual_collection

Instance Method Summary collapse

Methods inherited from EPlat::Mapping::Base

#aliases, #e_plat_key_to, #initialize, #inspect, #keys_aliased_to_native_keys, #mappable_keys, #mappings, #native_key_to, #native_setter, #to_e_plat_keys, #to_native_keys, #via_native_attributes_where_possible, virtual_collection

Methods included from RequestBodyRoot

#include_root_in_request_body?

Constructor Details

This class inherits a constructor from EPlat::Mapping::Base

Instance Method Details

#native_attribute_aliasesObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/e_plat/mapping/bigcommerce/v_3/product/option.rb', line 30

def native_attribute_aliases
	super.concat([
		{
			existing_entry: {native_key:   "id", 	e_plat_key: "id"}
		},
		{
			alias_attribute: {native_key:   "display_name", e_plat_key: "name"}
		},
		{
			alias_attribute: {native_key:   "sort_order", e_plat_key: "position"}
		},
		{
			alias_attribute: {native_key: "option_values", e_plat_key: "values",
				custom_e_plat_getter: '-> (option_values) {
					option_values.map{|val| val.label}
				}',
				custom_native_setter: '-> (option) { raise EPlat::Error.new "EPlat does not yet support native setting back to .option_values[i][:label]" }'
			}
		}

	])
end

#native_attributesObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/e_plat/mapping/bigcommerce/v_3/product/option.rb', line 14

def native_attributes
	super.concat([
		"id",
		"product_id",
		"display_name",
		"type",
		"config",
		"sort_order",
		"option_values",
		"modifiers",
		"option_set_id",
		"option_set_display",
		"variants"
	])
end

#native_top_keyObject



10
11
12
# File 'lib/e_plat/mapping/bigcommerce/v_3/product/option.rb', line 10

def native_top_key
	"data"
end