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.



31946
31947
31948
31949
31950
31951
31952
31953
31954
31955
31956
31957
31958
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31946

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))
  @merchant_of_record = (x = (x = opts.delete(:merchant_of_record); x.nil? ? "flow" : x); x.is_a?(::Io::Flow::V0::Models::MerchantOfRecord) ? x : ::Io::Flow::V0::Models::MerchantOfRecord.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::BillingAddress) ? x : ::Io::Flow::V0::Models::BillingAddress.new(x)))
  @date = (x = opts.delete(:date); x.nil? ? nil : HttpClient::Preconditions.assert_class('date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
  @attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? {} : x), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
end

Instance Attribute Details

#addressObject (readonly)

Returns the value of attribute address.



31944
31945
31946
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31944

def address
  @address
end

#attributesObject (readonly)

Returns the value of attribute attributes.



31944
31945
31946
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31944

def attributes
  @attributes
end

#dateObject (readonly)

Returns the value of attribute date.



31944
31945
31946
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31944

def date
  @date
end

#descriptionObject (readonly)

Returns the value of attribute description.



31944
31945
31946
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31944

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



31944
31945
31946
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31944

def id
  @id
end

#merchant_of_recordObject (readonly)

Returns the value of attribute merchant_of_record.



31944
31945
31946
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31944

def merchant_of_record
  @merchant_of_record
end

#referenceObject (readonly)

Returns the value of attribute reference.



31944
31945
31946
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31944

def reference
  @reference
end

#totalObject (readonly)

Returns the value of attribute total.



31944
31945
31946
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31944

def total
  @total
end

#typeObject (readonly)

Returns the value of attribute type.



31944
31945
31946
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31944

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



31964
31965
31966
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31964

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

#to_hashObject



31968
31969
31970
31971
31972
31973
31974
31975
31976
31977
31978
31979
31980
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31968

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

#to_jsonObject



31960
31961
31962
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 31960

def to_json
  JSON.dump(to_hash)
end