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
28522 28523 28524 28525 28526 28527 28528 28529 28530 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28522 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.
28520 28521 28522 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28520 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
28520 28521 28522 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28520 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
28520 28521 28522 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28520 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
28520 28521 28522 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28520 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
28536 28537 28538 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28536 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
28540 28541 28542 28543 28544 28545 28546 28547 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28540 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
28532 28533 28534 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28532 def to_json JSON.dump(to_hash) end |