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.



36696
36697
36698
36699
36700
36701
36702
36703
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36696

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.



36694
36695
36696
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36694

def attributes
  @attributes
end

#currencyObject (readonly)

Returns the value of attribute currency.



36694
36695
36696
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36694

def currency
  @currency
end

#numberObject (readonly)

Returns the value of attribute number.



36694
36695
36696
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36694

def number
  @number
end

#priceObject (readonly)

Returns the value of attribute price.



36694
36695
36696
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36694

def price
  @price
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



36709
36710
36711
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36709

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

#to_hashObject



36713
36714
36715
36716
36717
36718
36719
36720
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36713

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

#to_jsonObject



36705
36706
36707
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36705

def to_json
  JSON.dump(to_hash)
end