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.



15585
15586
15587
15588
15589
15590
15591
15592
15593
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15585

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.



15583
15584
15585
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15583

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



15583
15584
15585
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15583

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



15583
15584
15585
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15583

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



15583
15584
15585
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15583

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



15583
15584
15585
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15583

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



15599
15600
15601
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15599

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

#to_hashObject



15603
15604
15605
15606
15607
15608
15609
15610
15611
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15603

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

#to_jsonObject



15595
15596
15597
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 15595

def to_json
  JSON.dump(to_hash)
end