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.



18394
18395
18396
18397
18398
18399
18400
18401
18402
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18394

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.



18392
18393
18394
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18392

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



18392
18393
18394
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18392

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



18392
18393
18394
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18392

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



18392
18393
18394
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18392

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



18392
18393
18394
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18392

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



18408
18409
18410
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18408

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

#to_hashObject



18412
18413
18414
18415
18416
18417
18418
18419
18420
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18412

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

#to_jsonObject



18404
18405
18406
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18404

def to_json
  JSON.dump(to_hash)
end