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.



47405
47406
47407
47408
47409
47410
47411
47412
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47405

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.



47403
47404
47405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47403

def attributes
  @attributes
end

#currencyObject (readonly)

Returns the value of attribute currency.



47403
47404
47405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47403

def currency
  @currency
end

#numberObject (readonly)

Returns the value of attribute number.



47403
47404
47405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47403

def number
  @number
end

#priceObject (readonly)

Returns the value of attribute price.



47403
47404
47405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47403

def price
  @price
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



47418
47419
47420
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47418

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

#to_hashObject



47422
47423
47424
47425
47426
47427
47428
47429
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47422

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

#to_jsonObject



47414
47415
47416
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 47414

def to_json
  JSON.dump(to_hash)
end