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.
21898 21899 21900 21901 21902 21903 21904 21905 21906 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21898 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.
21896 21897 21898 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21896 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
21896 21897 21898 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21896 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
21896 21897 21898 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21896 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
21896 21897 21898 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21896 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
21912 21913 21914 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21912 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
21916 21917 21918 21919 21920 21921 21922 21923 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21916 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
21908 21909 21910 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21908 def to_json JSON.dump(to_hash) end |