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.
15674 15675 15676 15677 15678 15679 15680 15681 15682 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15674 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.
15672 15673 15674 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15672 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
15672 15673 15674 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15672 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
15672 15673 15674 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15672 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
15672 15673 15674 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15672 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
15688 15689 15690 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15688 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
15692 15693 15694 15695 15696 15697 15698 15699 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15692 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
15684 15685 15686 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15684 def to_json JSON.dump(to_hash) end |