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.



12837
12838
12839
12840
12841
12842
12843
12844
12845
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12837

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.



12835
12836
12837
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12835

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



12835
12836
12837
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12835

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



12835
12836
12837
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12835

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



12835
12836
12837
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12835

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



12835
12836
12837
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12835

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



12851
12852
12853
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12851

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

#to_hashObject



12855
12856
12857
12858
12859
12860
12861
12862
12863
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12855

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

#to_jsonObject



12847
12848
12849
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12847

def to_json
  JSON.dump(to_hash)
end