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.



28586
28587
28588
28589
28590
28591
28592
28593
28594
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28586

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.



28584
28585
28586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28584

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



28584
28585
28586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28584

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



28584
28585
28586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28584

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



28584
28585
28586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28584

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



28584
28585
28586
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28584

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



28600
28601
28602
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28600

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

#to_hashObject



28604
28605
28606
28607
28608
28609
28610
28611
28612
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28604

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



28596
28597
28598
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28596

def to_json
  JSON.dump(to_hash)
end