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
16991 16992 16993 16994 16995 16996 16997 16998 16999 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16991 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.
16989 16990 16991 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16989 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
16989 16990 16991 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16989 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
16989 16990 16991 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16989 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
16989 16990 16991 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 16989 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
17005 17006 17007 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17005 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
17009 17010 17011 17012 17013 17014 17015 17016 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17009 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
17001 17002 17003 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17001 def to_json JSON.dump(to_hash) end |