class Io::Flow::V0::Models::ShopifyCart

Representation of a Shopify cart exactly as defined by shopify.com

Attributes

attributes[R]
id[R]
item_count[R]
items[R]
local[R]
note[R]
requires_shipping[R]
total_price[R]
total_weight[R]

Public Class Methods

new(incoming={}) click to toggle source
# File lib/flow_commerce/flow_api_v0_client.rb, line 67081
def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:id, :items, :item_count, :total_price, :local], 'ShopifyCart')
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShopifyCartItem) ? x : ::Io::Flow::V0::Models::ShopifyCartItem.new(x)) }
  @item_count = HttpClient::Preconditions.assert_class('item_count', opts.delete(:item_count), Integer)
  @total_price = HttpClient::Preconditions.assert_class('total_price', opts.delete(:total_price), Integer)
  @local = (x = opts.delete(:local); x.is_a?(::Io::Flow::V0::Models::ShopifyLocalCartMetadata) ? x : ::Io::Flow::V0::Models::ShopifyLocalCartMetadata.new(x))
  @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', HttpClient::Helper.to_object(x), Hash))
  @note = (x = opts.delete(:note); x.nil? ? nil : HttpClient::Preconditions.assert_class('note', x, String))
  @requires_shipping = HttpClient::Preconditions.assert_boolean('requires_shipping', (x = opts.delete(:requires_shipping); x.nil? ? true : x))
  @total_weight = (x = opts.delete(:total_weight); x.nil? ? nil : HttpClient::Preconditions.assert_class('total_weight', x, Integer))
end

Public Instance Methods

copy(incoming={}) click to toggle source
# File lib/flow_commerce/flow_api_v0_client.rb, line 67099
def copy(incoming={})
  ShopifyCart.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end
to_hash() click to toggle source
# File lib/flow_commerce/flow_api_v0_client.rb, line 67103
def to_hash
  {
    :id => id,
    :items => items.map { |o| o.to_hash },
    :item_count => item_count,
    :total_price => total_price,
    :local => local.to_hash,
    :attributes => attributes,
    :note => note,
    :requires_shipping => requires_shipping,
    :total_weight => total_weight
  }
end
to_json() click to toggle source
# File lib/flow_commerce/flow_api_v0_client.rb, line 67095
def to_json
  JSON.dump(to_hash)
end