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.
28063 28064 28065 28066 28067 28068 28069 28070 28071 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28063 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.
28061 28062 28063 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28061 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
28061 28062 28063 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28061 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
28061 28062 28063 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28061 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
28061 28062 28063 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28061 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
28077 28078 28079 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28077 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
28081 28082 28083 28084 28085 28086 28087 28088 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28081 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
28073 28074 28075 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28073 def to_json JSON.dump(to_hash) end |