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.
16029 16030 16031 16032 16033 16034 16035 16036 16037 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16029 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.
16027 16028 16029 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16027 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
16027 16028 16029 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16027 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
16027 16028 16029 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16027 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
16027 16028 16029 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16027 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
16043 16044 16045 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16043 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
16047 16048 16049 16050 16051 16052 16053 16054 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16047 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
16039 16040 16041 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16039 def to_json JSON.dump(to_hash) end |