Class: Io::Flow::V0::Models::OrderPayment

Inherits:
Object
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

An Order Payment represents an individual payment applied to an order. The type of the payment can be used to further lookup transaction level detail

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ OrderPayment

Returns a new instance of OrderPayment.



21934
21935
21936
21937
21938
21939
21940
21941
21942
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21934

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:id, :type, :reference, :description, :total], 'OrderPayment')
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
  @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::OrderPaymentType) ? x : ::Io::Flow::V0::Models::OrderPaymentType.apply(x))
  @reference = HttpClient::Preconditions.assert_class('reference', opts.delete(:reference), String)
  @description = HttpClient::Preconditions.assert_class('description', opts.delete(:description), String)
  @total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



21932
21933
21934
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21932

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



21932
21933
21934
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21932

def id
  @id
end

#referenceObject (readonly)

Returns the value of attribute reference.



21932
21933
21934
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21932

def reference
  @reference
end

#totalObject (readonly)

Returns the value of attribute total.



21932
21933
21934
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21932

def total
  @total
end

#typeObject (readonly)

Returns the value of attribute type.



21932
21933
21934
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21932

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



21948
21949
21950
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21948

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

#to_hashObject



21952
21953
21954
21955
21956
21957
21958
21959
21960
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21952

def to_hash
  {
    :id => id,
    :type => type.value,
    :reference => reference,
    :description => description,
    :total => total.to_hash
  }
end

#to_jsonObject



21944
21945
21946
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21944

def to_json
  JSON.dump(to_hash)
end