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.



11156
11157
11158
11159
11160
11161
11162
11163
11164
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11156

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.



11154
11155
11156
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11154

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



11154
11155
11156
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11154

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



11154
11155
11156
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11154

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



11154
11155
11156
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11154

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



11154
11155
11156
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11154

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



11170
11171
11172
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11170

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

#to_hashObject



11174
11175
11176
11177
11178
11179
11180
11181
11182
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11174

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

#to_jsonObject



11166
11167
11168
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11166

def to_json
  JSON.dump(to_hash)
end