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
Returns a new instance of ItemFunction.
26675 26676 26677 26678 26679 26680 26681 26682 26683 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26675 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.
26673 26674 26675 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26673 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
26673 26674 26675 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26673 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
26673 26674 26675 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26673 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
26673 26674 26675 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26673 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
26689 26690 26691 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26689 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
26693 26694 26695 26696 26697 26698 26699 26700 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26693 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
26685 26686 26687 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26685 def to_json JSON.dump(to_hash) end |