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.
25133 25134 25135 25136 25137 25138 25139 25140 25141 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25133 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.
25131 25132 25133 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25131 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
25131 25132 25133 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25131 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
25131 25132 25133 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25131 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
25131 25132 25133 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25131 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
25147 25148 25149 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25147 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
25151 25152 25153 25154 25155 25156 25157 25158 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25151 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
25143 25144 25145 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25143 def to_json JSON.dump(to_hash) end |