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.
14764 14765 14766 14767 14768 14769 14770 14771 14772 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14764 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.
14762 14763 14764 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14762 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
14762 14763 14764 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14762 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
14762 14763 14764 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14762 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
14762 14763 14764 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14762 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
14778 14779 14780 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14778 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
14782 14783 14784 14785 14786 14787 14788 14789 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14782 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
14774 14775 14776 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14774 def to_json JSON.dump(to_hash) end |