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.



25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25597

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.



25595
25596
25597
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25595

def address
  @address
end

#descriptionObject (readonly)

Returns the value of attribute description.



25595
25596
25597
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25595

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



25595
25596
25597
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25595

def id
  @id
end

#referenceObject (readonly)

Returns the value of attribute reference.



25595
25596
25597
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25595

def reference
  @reference
end

#totalObject (readonly)

Returns the value of attribute total.



25595
25596
25597
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25595

def total
  @total
end

#typeObject (readonly)

Returns the value of attribute type.



25595
25596
25597
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25595

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



25612
25613
25614
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25612

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

#to_hashObject



25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25616

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



25608
25609
25610
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25608

def to_json
  JSON.dump(to_hash)
end