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.



12654
12655
12656
12657
12658
12659
12660
12661
12662
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12654

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.



12652
12653
12654
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12652

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



12652
12653
12654
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12652

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



12652
12653
12654
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12652

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



12652
12653
12654
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12652

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



12652
12653
12654
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12652

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



12668
12669
12670
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12668

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

#to_hashObject



12672
12673
12674
12675
12676
12677
12678
12679
12680
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12672

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

#to_jsonObject



12664
12665
12666
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12664

def to_json
  JSON.dump(to_hash)
end