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.



37247
37248
37249
37250
37251
37252
37253
37254
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37247

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.



37245
37246
37247
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37245

def attributes
  @attributes
end

#currencyObject (readonly)

Returns the value of attribute currency.



37245
37246
37247
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37245

def currency
  @currency
end

#numberObject (readonly)

Returns the value of attribute number.



37245
37246
37247
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37245

def number
  @number
end

#priceObject (readonly)

Returns the value of attribute price.



37245
37246
37247
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37245

def price
  @price
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



37260
37261
37262
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37260

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

#to_hashObject



37264
37265
37266
37267
37268
37269
37270
37271
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37264

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

#to_jsonObject



37256
37257
37258
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 37256

def to_json
  JSON.dump(to_hash)
end