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.



21864
21865
21866
21867
21868
21869
21870
21871
21872
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21864

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.



21862
21863
21864
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21862

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



21862
21863
21864
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21862

def id
  @id
end

#referenceObject (readonly)

Returns the value of attribute reference.



21862
21863
21864
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21862

def reference
  @reference
end

#totalObject (readonly)

Returns the value of attribute total.



21862
21863
21864
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21862

def total
  @total
end

#typeObject (readonly)

Returns the value of attribute type.



21862
21863
21864
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21862

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



21878
21879
21880
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21878

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

#to_hashObject



21882
21883
21884
21885
21886
21887
21888
21889
21890
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21882

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

#to_jsonObject



21874
21875
21876
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21874

def to_json
  JSON.dump(to_hash)
end