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.



30269
30270
30271
30272
30273
30274
30275
30276
30277
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30269

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.



30267
30268
30269
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30267

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



30267
30268
30269
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30267

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



30267
30268
30269
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30267

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



30267
30268
30269
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30267

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



30267
30268
30269
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30267

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



30283
30284
30285
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30283

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

#to_hashObject



30287
30288
30289
30290
30291
30292
30293
30294
30295
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30287

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



30279
30280
30281
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 30279

def to_json
  JSON.dump(to_hash)
end