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, #platform, #protected_attributes_rename_on_initialize, #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