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.
27449 27450 27451 27452 27453 27454 27455 27456 27457 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27449 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.
27447 27448 27449 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27447 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
27447 27448 27449 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27447 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
27447 27448 27449 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27447 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
27447 27448 27449 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27447 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
27463 27464 27465 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27463 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
27467 27468 27469 27470 27471 27472 27473 27474 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27467 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
27459 27460 27461 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 27459 def to_json JSON.dump(to_hash) end |