Class: Io::Flow::V0::Models::ShopifyCartItem

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ ShopifyCartItem

Returns a new instance of ShopifyCartItem.



35451
35452
35453
35454
35455
35456
35457
35458
35459
35460
35461
35462
35463
35464
35465
35466
35467
35468
35469
35470
35471
35472
35473
35474
35475
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35451

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:id, :handle, :line_price, :price, :product_id, :product_title, :quantity, :title, :url, :variant_id, :local], 'ShopifyCartItem')
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
  @handle = HttpClient::Preconditions.assert_class('handle', opts.delete(:handle), String)
  @line_price = HttpClient::Preconditions.assert_class('line_price', opts.delete(:line_price), Numeric)
  @price = HttpClient::Preconditions.assert_class('price', opts.delete(:price), Integer)
  @product_id = HttpClient::Preconditions.assert_class('product_id', opts.delete(:product_id), Integer)
  @product_title = HttpClient::Preconditions.assert_class('product_title', opts.delete(:product_title), String)
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
  @title = HttpClient::Preconditions.assert_class('title', opts.delete(:title), String)
  @url = HttpClient::Preconditions.assert_class('url', opts.delete(:url), String)
  @variant_id = HttpClient::Preconditions.assert_class('variant_id', opts.delete(:variant_id), Integer)
  @local = (x = opts.delete(:local); x.is_a?(::Io::Flow::V0::Models::ShopifyLocalCartItemMetadata) ? x : ::Io::Flow::V0::Models::ShopifyLocalCartItemMetadata.new(x))
  @gift_card = HttpClient::Preconditions.assert_boolean('gift_card', (x = opts.delete(:gift_card); x.nil? ? false : x))
  @image = (x = opts.delete(:image); x.nil? ? nil : HttpClient::Preconditions.assert_class('image', x, String))
  @product_description = (x = opts.delete(:product_description); x.nil? ? nil : HttpClient::Preconditions.assert_class('product_description', x, String))
  @product_type = (x = opts.delete(:product_type); x.nil? ? nil : HttpClient::Preconditions.assert_class('product_type', x, String))
  @properties = (x = opts.delete(:properties); x.nil? ? nil : HttpClient::Preconditions.assert_class('properties', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('properties', d[1], String); h })
  @requires_shipping = HttpClient::Preconditions.assert_boolean('requires_shipping', (x = opts.delete(:requires_shipping); x.nil? ? true : x))
  @sku = (x = opts.delete(:sku); x.nil? ? nil : HttpClient::Preconditions.assert_class('sku', x, String))
  @variant_title = (x = opts.delete(:variant_title); x.nil? ? nil : HttpClient::Preconditions.assert_class('variant_title', x, String))
  @variant_options = (x = opts.delete(:variant_options); x.nil? ? nil : HttpClient::Preconditions.assert_class('variant_options', x, Array).map { |v| HttpClient::Preconditions.assert_class('variant_options', v, String) })
  @vendor = (x = opts.delete(:vendor); x.nil? ? nil : HttpClient::Preconditions.assert_class('vendor', x, String))
end

Instance Attribute Details

#gift_cardObject (readonly)

Returns the value of attribute gift_card.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def gift_card
  @gift_card
end

#handleObject (readonly)

Returns the value of attribute handle.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def handle
  @handle
end

#idObject (readonly)

Returns the value of attribute id.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def id
  @id
end

#imageObject (readonly)

Returns the value of attribute image.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def image
  @image
end

#line_priceObject (readonly)

Returns the value of attribute line_price.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def line_price
  @line_price
end

#localObject (readonly)

Returns the value of attribute local.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def local
  @local
end

#priceObject (readonly)

Returns the value of attribute price.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def price
  @price
end

#product_descriptionObject (readonly)

Returns the value of attribute product_description.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def product_description
  @product_description
end

#product_idObject (readonly)

Returns the value of attribute product_id.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def product_id
  @product_id
end

#product_titleObject (readonly)

Returns the value of attribute product_title.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def product_title
  @product_title
end

#product_typeObject (readonly)

Returns the value of attribute product_type.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def product_type
  @product_type
end

#propertiesObject (readonly)

Returns the value of attribute properties.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def properties
  @properties
end

#quantityObject (readonly)

Returns the value of attribute quantity.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def quantity
  @quantity
end

#requires_shippingObject (readonly)

Returns the value of attribute requires_shipping.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def requires_shipping
  @requires_shipping
end

#skuObject (readonly)

Returns the value of attribute sku.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def sku
  @sku
end

#titleObject (readonly)

Returns the value of attribute title.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def title
  @title
end

#urlObject (readonly)

Returns the value of attribute url.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def url
  @url
end

#variant_idObject (readonly)

Returns the value of attribute variant_id.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def variant_id
  @variant_id
end

#variant_optionsObject (readonly)

Returns the value of attribute variant_options.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def variant_options
  @variant_options
end

#variant_titleObject (readonly)

Returns the value of attribute variant_title.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def variant_title
  @variant_title
end

#vendorObject (readonly)

Returns the value of attribute vendor.



35449
35450
35451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35449

def vendor
  @vendor
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



35481
35482
35483
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35481

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

#to_hashObject



35485
35486
35487
35488
35489
35490
35491
35492
35493
35494
35495
35496
35497
35498
35499
35500
35501
35502
35503
35504
35505
35506
35507
35508
35509
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35485

def to_hash
  {
    :id => id,
    :handle => handle,
    :line_price => line_price,
    :price => price,
    :product_id => product_id,
    :product_title => product_title,
    :quantity => quantity,
    :title => title,
    :url => url,
    :variant_id => variant_id,
    :local => local.to_hash,
    :gift_card => gift_card,
    :image => image,
    :product_description => product_description,
    :product_type => product_type,
    :properties => properties.nil? ? nil : properties,
    :requires_shipping => requires_shipping,
    :sku => sku,
    :variant_title => variant_title,
    :variant_options => variant_options.nil? ? nil : variant_options,
    :vendor => vendor
  }
end

#to_jsonObject



35477
35478
35479
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35477

def to_json
  JSON.dump(to_hash)
end