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
18179 18180 18181 18182 18183 18184 18185 18186 18187 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18179 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.
18177 18178 18179 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18177 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
18177 18178 18179 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18177 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
18177 18178 18179 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18177 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
18177 18178 18179 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18177 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
18193 18194 18195 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18193 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
18197 18198 18199 18200 18201 18202 18203 18204 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18197 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
18189 18190 18191 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18189 def to_json JSON.dump(to_hash) end |