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.



12079
12080
12081
12082
12083
12084
12085
12086
12087
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12079

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.



12077
12078
12079
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12077

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



12077
12078
12079
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12077

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



12077
12078
12079
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12077

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



12077
12078
12079
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12077

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



12077
12078
12079
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12077

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



12093
12094
12095
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12093

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

#to_hashObject



12097
12098
12099
12100
12101
12102
12103
12104
12105
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12097

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

#to_jsonObject



12089
12090
12091
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12089

def to_json
  JSON.dump(to_hash)
end