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



23652
23653
23654
23655
23656
23657
23658
23659
23660
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23652

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.



23650
23651
23652
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23650

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



23650
23651
23652
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23650

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



23650
23651
23652
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23650

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



23650
23651
23652
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23650

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



23650
23651
23652
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23650

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



23666
23667
23668
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23666

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

#to_hashObject



23670
23671
23672
23673
23674
23675
23676
23677
23678
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23670

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

#to_jsonObject



23662
23663
23664
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23662

def to_json
  JSON.dump(to_hash)
end