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.



36549
36550
36551
36552
36553
36554
36555
36556
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36549

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.



36547
36548
36549
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36547

def attributes
  @attributes
end

#currencyObject (readonly)

Returns the value of attribute currency.



36547
36548
36549
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36547

def currency
  @currency
end

#numberObject (readonly)

Returns the value of attribute number.



36547
36548
36549
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36547

def number
  @number
end

#priceObject (readonly)

Returns the value of attribute price.



36547
36548
36549
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36547

def price
  @price
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



36562
36563
36564
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36562

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

#to_hashObject



36566
36567
36568
36569
36570
36571
36572
36573
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36566

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

#to_jsonObject



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

def to_json
  JSON.dump(to_hash)
end