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.



26033
26034
26035
26036
26037
26038
26039
26040
26041
26042
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26033

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))
  @address = (x = opts.delete(:address); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x)))
end

Instance Attribute Details

#addressObject (readonly)

Returns the value of attribute address.



26031
26032
26033
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26031

def address
  @address
end

#descriptionObject (readonly)

Returns the value of attribute description.



26031
26032
26033
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26031

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



26031
26032
26033
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26031

def id
  @id
end

#referenceObject (readonly)

Returns the value of attribute reference.



26031
26032
26033
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26031

def reference
  @reference
end

#totalObject (readonly)

Returns the value of attribute total.



26031
26032
26033
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26031

def total
  @total
end

#typeObject (readonly)

Returns the value of attribute type.



26031
26032
26033
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26031

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



26048
26049
26050
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26048

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

#to_hashObject



26052
26053
26054
26055
26056
26057
26058
26059
26060
26061
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26052

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

#to_jsonObject



26044
26045
26046
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 26044

def to_json
  JSON.dump(to_hash)
end