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.
12902 12903 12904 12905 12906 12907 12908 12909 12910 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12902 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.
12900 12901 12902 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12900 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
12900 12901 12902 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12900 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
12900 12901 12902 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12900 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
12900 12901 12902 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12900 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
12916 12917 12918 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12916 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
12920 12921 12922 12923 12924 12925 12926 12927 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12920 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
12912 12913 12914 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12912 def to_json JSON.dump(to_hash) end |