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.



17854
17855
17856
17857
17858
17859
17860
17861
17862
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17854

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.



17852
17853
17854
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17852

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



17852
17853
17854
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17852

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



17852
17853
17854
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17852

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



17852
17853
17854
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17852

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



17852
17853
17854
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17852

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



17868
17869
17870
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17868

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

#to_hashObject



17872
17873
17874
17875
17876
17877
17878
17879
17880
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17872

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

#to_jsonObject



17864
17865
17866
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17864

def to_json
  JSON.dump(to_hash)
end