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.



13435
13436
13437
13438
13439
13440
13441
13442
13443
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13435

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.



13433
13434
13435
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13433

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



13433
13434
13435
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13433

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



13433
13434
13435
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13433

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



13433
13434
13435
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13433

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



13433
13434
13435
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13433

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



13449
13450
13451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13449

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

#to_hashObject



13453
13454
13455
13456
13457
13458
13459
13460
13461
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13453

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

#to_jsonObject



13445
13446
13447
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13445

def to_json
  JSON.dump(to_hash)
end