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.



11633
11634
11635
11636
11637
11638
11639
11640
11641
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11633

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.



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

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



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

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



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

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



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

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



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

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



11647
11648
11649
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11647

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

#to_hashObject



11651
11652
11653
11654
11655
11656
11657
11658
11659
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11651

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

#to_jsonObject



11643
11644
11645
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11643

def to_json
  JSON.dump(to_hash)
end