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.



15760
15761
15762
15763
15764
15765
15766
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15760

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

#codeObject (readonly)

Returns the value of attribute code.



15758
15759
15760
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15758

def code
  @code
end

#descriptionObject (readonly)

Returns the value of attribute description.



15758
15759
15760
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15758

def description
  @description
end

#keyObject (readonly)

Returns the value of attribute key.



15758
15759
15760
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15758

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



15772
15773
15774
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15772

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

#to_hashObject



15776
15777
15778
15779
15780
15781
15782
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15776

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

#to_jsonObject



15768
15769
15770
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15768

def to_json
  JSON.dump(to_hash)
end