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.



28574
28575
28576
28577
28578
28579
28580
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28574

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.



28572
28573
28574
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28572

def code
  @code
end

#descriptionObject (readonly)

Returns the value of attribute description.



28572
28573
28574
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28572

def description
  @description
end

#keyObject (readonly)

Returns the value of attribute key.



28572
28573
28574
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28572

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



28586
28587
28588
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28586

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

#to_hashObject



28590
28591
28592
28593
28594
28595
28596
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28590

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

#to_jsonObject



28582
28583
28584
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28582

def to_json
  JSON.dump(to_hash)
end