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.
19065 19066 19067 19068 19069 19070 19071 19072 19073 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19065 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.
19063 19064 19065 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19063 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
19063 19064 19065 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19063 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
19063 19064 19065 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19063 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
19063 19064 19065 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19063 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
19079 19080 19081 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19079 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
19083 19084 19085 19086 19087 19088 19089 19090 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19083 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
19075 19076 19077 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19075 def to_json JSON.dump(to_hash) end |