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.



23121
23122
23123
23124
23125
23126
23127
23128
23129
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23121

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.



23119
23120
23121
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23119

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



23119
23120
23121
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23119

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



23119
23120
23121
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23119

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



23119
23120
23121
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23119

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



23119
23120
23121
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23119

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



23135
23136
23137
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23135

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

#to_hashObject



23139
23140
23141
23142
23143
23144
23145
23146
23147
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23139

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



23131
23132
23133
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23131

def to_json
  JSON.dump(to_hash)
end