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.



46636
46637
46638
46639
46640
46641
46642
46643
46644
46645
46646
46647
46648
46649
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46636

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 }
  @method = (x = opts.delete(:method); x.nil? ? nil : HttpClient::Preconditions.assert_class('method', x, String))
end

Instance Attribute Details

#addressObject (readonly)

Returns the value of attribute address.



46634
46635
46636
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46634

def address
  @address
end

#attributesObject (readonly)

Returns the value of attribute attributes.



46634
46635
46636
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46634

def attributes
  @attributes
end

#dateObject (readonly)

Returns the value of attribute date.



46634
46635
46636
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46634

def date
  @date
end

#descriptionObject (readonly)

Returns the value of attribute description.



46634
46635
46636
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46634

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



46634
46635
46636
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46634

def id
  @id
end

#merchant_of_recordObject (readonly)

Returns the value of attribute merchant_of_record.



46634
46635
46636
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46634

def merchant_of_record
  @merchant_of_record
end

#methodObject (readonly)

Returns the value of attribute method.



46634
46635
46636
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46634

def method
  @method
end

#referenceObject (readonly)

Returns the value of attribute reference.



46634
46635
46636
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46634

def reference
  @reference
end

#totalObject (readonly)

Returns the value of attribute total.



46634
46635
46636
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46634

def total
  @total
end

#typeObject (readonly)

Returns the value of attribute type.



46634
46635
46636
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46634

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



46655
46656
46657
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46655

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

#to_hashObject



46659
46660
46661
46662
46663
46664
46665
46666
46667
46668
46669
46670
46671
46672
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46659

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,
    :method => method
  }
end

#to_jsonObject



46651
46652
46653
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 46651

def to_json
  JSON.dump(to_hash)
end