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.



24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24606

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.



24604
24605
24606
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24604

def address
  @address
end

#descriptionObject (readonly)

Returns the value of attribute description.



24604
24605
24606
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24604

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



24604
24605
24606
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24604

def id
  @id
end

#referenceObject (readonly)

Returns the value of attribute reference.



24604
24605
24606
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24604

def reference
  @reference
end

#totalObject (readonly)

Returns the value of attribute total.



24604
24605
24606
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24604

def total
  @total
end

#typeObject (readonly)

Returns the value of attribute type.



24604
24605
24606
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24604

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



24621
24622
24623
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24621

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

#to_hashObject



24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24625

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



24617
24618
24619
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24617

def to_json
  JSON.dump(to_hash)
end