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.
17215 17216 17217 17218 17219 17220 17221 17222 17223 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17215 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.
17213 17214 17215 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17213 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
17213 17214 17215 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17213 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
17213 17214 17215 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17213 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
17213 17214 17215 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17213 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
17229 17230 17231 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17229 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
17233 17234 17235 17236 17237 17238 17239 17240 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17233 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
17225 17226 17227 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17225 def to_json JSON.dump(to_hash) end |