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.
11922 11923 11924 11925 11926 11927 11928 11929 11930 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11922 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.
11920 11921 11922 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11920 def code @code end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
11920 11921 11922 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11920 def description @description end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
11920 11921 11922 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11920 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
11920 11921 11922 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11920 def key @key end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
11936 11937 11938 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11936 def copy(incoming={}) ItemFunction.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
11940 11941 11942 11943 11944 11945 11946 11947 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11940 def subtype_to_hash { :id => id, :key => key, :description => description, :code => code } end |
#to_json ⇒ Object
11932 11933 11934 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11932 def to_json JSON.dump(to_hash) end |