Class: Io::Flow::V0::Models::ItemFunctionPostForm

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ ItemFunctionPostForm

Returns a new instance of ItemFunctionPostForm.



14727
14728
14729
14730
14731
14732
14733
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14727

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:description, :code], 'ItemFunctionPostForm')
  @description = HttpClient::Preconditions.assert_class('description', opts.delete(:description), String)
  @code = HttpClient::Preconditions.assert_class('code', opts.delete(:code), String)
  @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
end

Instance Attribute Details

#code ⇒ Object (readonly)

Returns the value of attribute code.



14725
14726
14727
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14725

def code
  @code
end

#description ⇒ Object (readonly)

Returns the value of attribute description.



14725
14726
14727
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14725

def description
  @description
end

#key ⇒ Object (readonly)

Returns the value of attribute key.



14725
14726
14727
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14725

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



14739
14740
14741
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14739

def copy(incoming={})
  ItemFunctionPostForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#to_hash ⇒ Object



14743
14744
14745
14746
14747
14748
14749
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14743

def to_hash
  {
    :description => description,
    :code => code,
    :key => key
  }
end

#to_json ⇒ Object



14735
14736
14737
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 14735

def to_json
  JSON.dump(to_hash)
end