Class: Io::Flow::V0::Models::ShopifyVariantFlowMetafield

Inherits:
Object
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

The shopify variant metafield defines the individual metafield values we write into Shopify for each variant. This model was introduced to enable server side rendering of content (e.g. the price on the product detail page). Each field in this model is available as its own metafield within a namespace named ‘price_abc’ where abc is a unique, short identifier for an experience.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ ShopifyVariantFlowMetafield

Returns a new instance of ShopifyVariantFlowMetafield.



50088
50089
50090
50091
50092
50093
50094
50095
50096
50097
50098
50099
50100
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50088

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:prices_item, :prices_currency, :prices_status], 'ShopifyVariantFlowMetafield')
  @prices_item = HttpClient::Preconditions.assert_class('prices_item', opts.delete(:prices_item), String)
  @prices_currency = HttpClient::Preconditions.assert_class('prices_currency', opts.delete(:prices_currency), String)
  @prices_includes = (x = opts.delete(:prices_includes); x.nil? ? nil : HttpClient::Preconditions.assert_class('prices_includes', x, String))
  @prices_vat = (x = opts.delete(:prices_vat); x.nil? ? nil : HttpClient::Preconditions.assert_class('prices_vat', x, String))
  @prices_vat_name = (x = opts.delete(:prices_vat_name); x.nil? ? nil : HttpClient::Preconditions.assert_class('prices_vat_name', x, String))
  @prices_duty = (x = opts.delete(:prices_duty); x.nil? ? nil : HttpClient::Preconditions.assert_class('prices_duty', x, String))
  @prices_compare_at = (x = opts.delete(:prices_compare_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('prices_compare_at', x, String))
  @prices_status = (x = opts.delete(:prices_status); x.is_a?(::Io::Flow::V0::Models::SubcatalogItemStatus) ? x : ::Io::Flow::V0::Models::SubcatalogItemStatus.apply(x))
  @inventory_status = (x = opts.delete(:inventory_status); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ItemAvailabilityStatus) ? x : ::Io::Flow::V0::Models::ItemAvailabilityStatus.apply(x)))
end

Instance Attribute Details

#inventory_statusObject (readonly)

Returns the value of attribute inventory_status.



50086
50087
50088
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50086

def inventory_status
  @inventory_status
end

#prices_compare_atObject (readonly)

Returns the value of attribute prices_compare_at.



50086
50087
50088
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50086

def prices_compare_at
  @prices_compare_at
end

#prices_currencyObject (readonly)

Returns the value of attribute prices_currency.



50086
50087
50088
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50086

def prices_currency
  @prices_currency
end

#prices_dutyObject (readonly)

Returns the value of attribute prices_duty.



50086
50087
50088
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50086

def prices_duty
  @prices_duty
end

#prices_includesObject (readonly)

Returns the value of attribute prices_includes.



50086
50087
50088
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50086

def prices_includes
  @prices_includes
end

#prices_itemObject (readonly)

Returns the value of attribute prices_item.



50086
50087
50088
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50086

def prices_item
  @prices_item
end

#prices_statusObject (readonly)

Returns the value of attribute prices_status.



50086
50087
50088
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50086

def prices_status
  @prices_status
end

#prices_vatObject (readonly)

Returns the value of attribute prices_vat.



50086
50087
50088
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50086

def prices_vat
  @prices_vat
end

#prices_vat_nameObject (readonly)

Returns the value of attribute prices_vat_name.



50086
50087
50088
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50086

def prices_vat_name
  @prices_vat_name
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



50106
50107
50108
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50106

def copy(incoming={})
  ShopifyVariantFlowMetafield.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#to_hashObject



50110
50111
50112
50113
50114
50115
50116
50117
50118
50119
50120
50121
50122
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50110

def to_hash
  {
    :prices_item => prices_item,
    :prices_currency => prices_currency,
    :prices_includes => prices_includes,
    :prices_vat => prices_vat,
    :prices_vat_name => prices_vat_name,
    :prices_duty => prices_duty,
    :prices_compare_at => prices_compare_at,
    :prices_status => prices_status.value,
    :inventory_status => inventory_status.nil? ? nil : inventory_status.value
  }
end

#to_jsonObject



50102
50103
50104
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 50102

def to_json
  JSON.dump(to_hash)
end