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



12507
12508
12509
12510
12511
12512
12513
12514
12515
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12507

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.



12505
12506
12507
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12505

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



12505
12506
12507
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12505

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



12505
12506
12507
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12505

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



12505
12506
12507
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12505

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



12505
12506
12507
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12505

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



12521
12522
12523
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12521

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

#to_hashObject



12525
12526
12527
12528
12529
12530
12531
12532
12533
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12525

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

#to_jsonObject



12517
12518
12519
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12517

def to_json
  JSON.dump(to_hash)
end