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.



15361
15362
15363
15364
15365
15366
15367
15368
15369
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15361

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.



15359
15360
15361
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15359

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



15359
15360
15361
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15359

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



15359
15360
15361
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15359

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



15359
15360
15361
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15359

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



15359
15360
15361
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15359

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



15375
15376
15377
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15375

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

#to_hashObject



15379
15380
15381
15382
15383
15384
15385
15386
15387
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15379

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

#to_jsonObject



15371
15372
15373
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15371

def to_json
  JSON.dump(to_hash)
end