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.



19391
19392
19393
19394
19395
19396
19397
19398
19399
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19391

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.



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

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



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

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



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

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



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

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



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

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



19405
19406
19407
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19405

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

#to_hashObject



19409
19410
19411
19412
19413
19414
19415
19416
19417
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19409

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

#to_jsonObject



19401
19402
19403
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19401

def to_json
  JSON.dump(to_hash)
end