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.



21227
21228
21229
21230
21231
21232
21233
21234
21235
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21227

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))
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



21225
21226
21227
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21225

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



21225
21226
21227
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21225

def id
  @id
end

#referenceObject (readonly)

Returns the value of attribute reference.



21225
21226
21227
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21225

def reference
  @reference
end

#totalObject (readonly)

Returns the value of attribute total.



21225
21226
21227
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21225

def total
  @total
end

#typeObject (readonly)

Returns the value of attribute type.



21225
21226
21227
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21225

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



21241
21242
21243
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21241

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

#to_hashObject



21245
21246
21247
21248
21249
21250
21251
21252
21253
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21245

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

#to_jsonObject



21237
21238
21239
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21237

def to_json
  JSON.dump(to_hash)
end