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.
18973 18974 18975 18976 18977 18978 18979 18980 18981 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18973 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.
18971 18972 18973 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18971 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
18971 18972 18973 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18971 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
18971 18972 18973 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18971 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
18971 18972 18973 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18971 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
18987 18988 18989 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18987 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
18991 18992 18993 18994 18995 18996 18997 18998 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18991 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
18983 18984 18985 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18983 def to_json JSON.dump(to_hash) end |