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.



42049
42050
42051
42052
42053
42054
42055
42056
42057
42058
42059
42060
42061
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42049

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.



42047
42048
42049
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42047

def inventory_status
  @inventory_status
end

#prices_compare_atObject (readonly)

Returns the value of attribute prices_compare_at.



42047
42048
42049
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42047

def prices_compare_at
  @prices_compare_at
end

#prices_currencyObject (readonly)

Returns the value of attribute prices_currency.



42047
42048
42049
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42047

def prices_currency
  @prices_currency
end

#prices_dutyObject (readonly)

Returns the value of attribute prices_duty.



42047
42048
42049
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42047

def prices_duty
  @prices_duty
end

#prices_includesObject (readonly)

Returns the value of attribute prices_includes.



42047
42048
42049
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42047

def prices_includes
  @prices_includes
end

#prices_itemObject (readonly)

Returns the value of attribute prices_item.



42047
42048
42049
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42047

def prices_item
  @prices_item
end

#prices_statusObject (readonly)

Returns the value of attribute prices_status.



42047
42048
42049
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42047

def prices_status
  @prices_status
end

#prices_vatObject (readonly)

Returns the value of attribute prices_vat.



42047
42048
42049
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42047

def prices_vat
  @prices_vat
end

#prices_vat_nameObject (readonly)

Returns the value of attribute prices_vat_name.



42047
42048
42049
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42047

def prices_vat_name
  @prices_vat_name
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



42067
42068
42069
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42067

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

#to_hashObject



42071
42072
42073
42074
42075
42076
42077
42078
42079
42080
42081
42082
42083
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42071

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



42063
42064
42065
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 42063

def to_json
  JSON.dump(to_hash)
end