Class: Io::Flow::V0::Models::ItemFunction
- Inherits:
-
ExpandableItemFunction
- Object
- ExpandableItemFunction
- Io::Flow::V0::Models::ItemFunction
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Overview
Item Functions are javascript code used to calculate the localized price of an additional item. Each function can be associated with an optional query identifying the products to which the function applies. Flow selects the first function matching an item, then uses that function to calculate local prices whenever any data relevant to the item changes (e.g. on update in master catalog, on change in relevant exchange rate, etc.). Item functions are immutable once created.
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#key ⇒ Object
readonly
Returns the value of attribute key.
Attributes inherited from ExpandableItemFunction
Instance Method Summary collapse
- #copy(incoming = {}) ⇒ Object
-
#initialize(incoming = {}) ⇒ ItemFunction
constructor
A new instance of ItemFunction.
- #subtype_to_hash ⇒ Object
- #to_json ⇒ Object
Methods inherited from ExpandableItemFunction
Constructor Details
#initialize(incoming = {}) ⇒ ItemFunction
21329 21330 21331 21332 21333 21334 21335 21336 21337 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21329 def initialize(incoming={}) super(:discriminator => ExpandableItemFunction::Types::ITEM_FUNCTION) opts = HttpClient::Helper.symbolize_keys(incoming) HttpClient::Preconditions.require_keys(opts, [:id, :key, :description, :code], 'ItemFunction') @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String) @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String) @description = HttpClient::Preconditions.assert_class('description', opts.delete(:description), String) @code = HttpClient::Preconditions.assert_class('code', opts.delete(:code), String) end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
21327 21328 21329 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21327 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
21327 21328 21329 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21327 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
21327 21328 21329 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21327 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
21327 21328 21329 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21327 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
21343 21344 21345 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21343 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
21347 21348 21349 21350 21351 21352 21353 21354 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21347 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
21339 21340 21341 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21339 def to_json JSON.dump(to_hash) end |