Class: Io::Flow::V0::Models::ItemPriceUpdateForm

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

Overview

The item price update form is used to update only the price (and attributes, eg. msrp) of given item. This form defines the format of the CSV import.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ ItemPriceUpdateForm

Returns a new instance of ItemPriceUpdateForm.



35388
35389
35390
35391
35392
35393
35394
35395
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35388

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:number, :price], 'ItemPriceUpdateForm')
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
  @currency = (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
  @price = HttpClient::Preconditions.assert_class('price', HttpClient::Helper.to_big_decimal(opts.delete(:price)), BigDecimal)
  @attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? {} : x), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



35386
35387
35388
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35386

def attributes
  @attributes
end

#currencyObject (readonly)

Returns the value of attribute currency.



35386
35387
35388
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35386

def currency
  @currency
end

#numberObject (readonly)

Returns the value of attribute number.



35386
35387
35388
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35386

def number
  @number
end

#priceObject (readonly)

Returns the value of attribute price.



35386
35387
35388
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35386

def price
  @price
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



35401
35402
35403
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35401

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

#to_hashObject



35405
35406
35407
35408
35409
35410
35411
35412
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35405

def to_hash
  {
    :number => number,
    :currency => currency,
    :price => price.to_f.to_s,
    :attributes => attributes
  }
end

#to_jsonObject



35397
35398
35399
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35397

def to_json
  JSON.dump(to_hash)
end