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.



13442
13443
13444
13445
13446
13447
13448
13449
13450
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13442

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.



13440
13441
13442
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13440

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



13440
13441
13442
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13440

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



13440
13441
13442
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13440

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



13440
13441
13442
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13440

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



13440
13441
13442
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13440

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



13456
13457
13458
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13456

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

#to_hashObject



13460
13461
13462
13463
13464
13465
13466
13467
13468
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13460

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

#to_jsonObject



13452
13453
13454
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13452

def to_json
  JSON.dump(to_hash)
end