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.



22051
22052
22053
22054
22055
22056
22057
22058
22059
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22051

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.



22049
22050
22051
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22049

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



22049
22050
22051
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22049

def id
  @id
end

#referenceObject (readonly)

Returns the value of attribute reference.



22049
22050
22051
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22049

def reference
  @reference
end

#totalObject (readonly)

Returns the value of attribute total.



22049
22050
22051
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22049

def total
  @total
end

#typeObject (readonly)

Returns the value of attribute type.



22049
22050
22051
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22049

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



22065
22066
22067
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22065

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

#to_hashObject



22069
22070
22071
22072
22073
22074
22075
22076
22077
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22069

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

#to_jsonObject



22061
22062
22063
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22061

def to_json
  JSON.dump(to_hash)
end