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.



36544
36545
36546
36547
36548
36549
36550
36551
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36544

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.



36542
36543
36544
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36542

def attributes
  @attributes
end

#currencyObject (readonly)

Returns the value of attribute currency.



36542
36543
36544
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36542

def currency
  @currency
end

#numberObject (readonly)

Returns the value of attribute number.



36542
36543
36544
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36542

def number
  @number
end

#priceObject (readonly)

Returns the value of attribute price.



36542
36543
36544
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36542

def price
  @price
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



36557
36558
36559
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36557

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

#to_hashObject



36561
36562
36563
36564
36565
36566
36567
36568
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36561

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

#to_jsonObject



36553
36554
36555
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36553

def to_json
  JSON.dump(to_hash)
end