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.



38954
38955
38956
38957
38958
38959
38960
38961
38962
38963
38964
38965
38966
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38954

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::ExperienceInventoryItemStatus) ? x : ::Io::Flow::V0::Models::ExperienceInventoryItemStatus.apply(x)))
end

Instance Attribute Details

#inventory_statusObject (readonly)

Returns the value of attribute inventory_status.



38952
38953
38954
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38952

def inventory_status
  @inventory_status
end

#prices_compare_atObject (readonly)

Returns the value of attribute prices_compare_at.



38952
38953
38954
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38952

def prices_compare_at
  @prices_compare_at
end

#prices_currencyObject (readonly)

Returns the value of attribute prices_currency.



38952
38953
38954
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38952

def prices_currency
  @prices_currency
end

#prices_dutyObject (readonly)

Returns the value of attribute prices_duty.



38952
38953
38954
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38952

def prices_duty
  @prices_duty
end

#prices_includesObject (readonly)

Returns the value of attribute prices_includes.



38952
38953
38954
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38952

def prices_includes
  @prices_includes
end

#prices_itemObject (readonly)

Returns the value of attribute prices_item.



38952
38953
38954
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38952

def prices_item
  @prices_item
end

#prices_statusObject (readonly)

Returns the value of attribute prices_status.



38952
38953
38954
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38952

def prices_status
  @prices_status
end

#prices_vatObject (readonly)

Returns the value of attribute prices_vat.



38952
38953
38954
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38952

def prices_vat
  @prices_vat
end

#prices_vat_nameObject (readonly)

Returns the value of attribute prices_vat_name.



38952
38953
38954
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38952

def prices_vat_name
  @prices_vat_name
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



38972
38973
38974
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38972

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

#to_hashObject



38976
38977
38978
38979
38980
38981
38982
38983
38984
38985
38986
38987
38988
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38976

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



38968
38969
38970
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 38968

def to_json
  JSON.dump(to_hash)
end