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



24197
24198
24199
24200
24201
24202
24203
24204
24205
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24197

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.



24195
24196
24197
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24195

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



24195
24196
24197
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24195

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



24195
24196
24197
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24195

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



24195
24196
24197
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24195

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



24195
24196
24197
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24195

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



24211
24212
24213
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24211

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

#to_hashObject



24215
24216
24217
24218
24219
24220
24221
24222
24223
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24215

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



24207
24208
24209
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24207

def to_json
  JSON.dump(to_hash)
end