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.



11618
11619
11620
11621
11622
11623
11624
11625
11626
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11618

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.



11616
11617
11618
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11616

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



11616
11617
11618
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11616

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



11616
11617
11618
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11616

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



11616
11617
11618
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11616

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



11616
11617
11618
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11616

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



11632
11633
11634
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11632

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

#to_hashObject



11636
11637
11638
11639
11640
11641
11642
11643
11644
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11636

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

#to_jsonObject



11628
11629
11630
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11628

def to_json
  JSON.dump(to_hash)
end