Class: Io::Flow::V0::Models::CaptureForm

Inherits:
Object
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

Capture actually transfers funds. You can capture as many times as you’d like up until the total amount of the authorization has been captured or the authorization otherwise becomes unavailable (e.g. expires).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ CaptureForm

Returns a new instance of CaptureForm.



19379
19380
19381
19382
19383
19384
19385
19386
19387
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19379

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:authorization_id], 'CaptureForm')
  @authorization_id = HttpClient::Preconditions.assert_class('authorization_id', opts.delete(:authorization_id), String)
  @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
  @amount = (x = opts.delete(:amount); x.nil? ? nil : HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(x), BigDecimal))
  @currency = (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
  @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
end

Instance Attribute Details

#amountObject (readonly)

Returns the value of attribute amount.



19377
19378
19379
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19377

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



19377
19378
19379
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19377

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



19377
19378
19379
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19377

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



19377
19378
19379
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19377

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



19377
19378
19379
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19377

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



19393
19394
19395
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19393

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

#to_hashObject



19397
19398
19399
19400
19401
19402
19403
19404
19405
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19397

def to_hash
  {
    :authorization_id => authorization_id,
    :key => key,
    :amount => amount.to_f.to_s,
    :currency => currency,
    :attributes => attributes.nil? ? nil : attributes
  }
end

#to_jsonObject



19389
19390
19391
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19389

def to_json
  JSON.dump(to_hash)
end