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



12819
12820
12821
12822
12823
12824
12825
12826
12827
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12819

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.



12817
12818
12819
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12817

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



12817
12818
12819
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12817

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



12817
12818
12819
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12817

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



12817
12818
12819
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12817

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



12817
12818
12819
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12817

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



12833
12834
12835
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12833

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

#to_hashObject



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

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

#to_jsonObject



12829
12830
12831
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12829

def to_json
  JSON.dump(to_hash)
end