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.



24296
24297
24298
24299
24300
24301
24302
24303
24304
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24296

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.



24294
24295
24296
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24294

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



24294
24295
24296
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24294

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



24294
24295
24296
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24294

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



24294
24295
24296
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24294

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



24294
24295
24296
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24294

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



24310
24311
24312
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24310

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

#to_hashObject



24314
24315
24316
24317
24318
24319
24320
24321
24322
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24314

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

#to_jsonObject



24306
24307
24308
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24306

def to_json
  JSON.dump(to_hash)
end