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.
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.
10136 10137 10138 10139 10140 10141 10142 10143 10144 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10136 def initialize(incoming={}) super(:name => 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.
10134 10135 10136 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10134 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
10134 10135 10136 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10134 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
10134 10135 10136 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10134 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
10134 10135 10136 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10134 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
10150 10151 10152 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10150 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
10154 10155 10156 10157 10158 10159 10160 10161 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10154 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
10146 10147 10148 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10146 def to_json JSON.dump(to_hash) end |