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.



12988
12989
12990
12991
12992
12993
12994
12995
12996
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12988

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.



12986
12987
12988
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12986

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



12986
12987
12988
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12986

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



12986
12987
12988
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12986

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



12986
12987
12988
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12986

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



12986
12987
12988
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12986

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



13002
13003
13004
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13002

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

#to_hashObject



13006
13007
13008
13009
13010
13011
13012
13013
13014
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13006

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

#to_jsonObject



12998
12999
13000
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12998

def to_json
  JSON.dump(to_hash)
end