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.
22591 22592 22593 22594 22595 22596 22597 22598 22599 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22591 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.
22589 22590 22591 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22589 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
22589 22590 22591 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22589 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
22589 22590 22591 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22589 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
22589 22590 22591 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22589 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
22605 22606 22607 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22605 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
22609 22610 22611 22612 22613 22614 22615 22616 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22609 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
22601 22602 22603 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22601 def to_json JSON.dump(to_hash) end |