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.



36643
36644
36645
36646
36647
36648
36649
36650
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36643

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.



36641
36642
36643
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36641

def attributes
  @attributes
end

#currencyObject (readonly)

Returns the value of attribute currency.



36641
36642
36643
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36641

def currency
  @currency
end

#numberObject (readonly)

Returns the value of attribute number.



36641
36642
36643
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36641

def number
  @number
end

#priceObject (readonly)

Returns the value of attribute price.



36641
36642
36643
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36641

def price
  @price
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



36656
36657
36658
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36656

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

#to_hashObject



36660
36661
36662
36663
36664
36665
36666
36667
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36660

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

#to_jsonObject



36652
36653
36654
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 36652

def to_json
  JSON.dump(to_hash)
end