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.



22927
22928
22929
22930
22931
22932
22933
22934
22935
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22927

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.



22925
22926
22927
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22925

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



22925
22926
22927
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22925

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



22925
22926
22927
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22925

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



22925
22926
22927
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22925

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



22925
22926
22927
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22925

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



22941
22942
22943
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22941

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

#to_hashObject



22945
22946
22947
22948
22949
22950
22951
22952
22953
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22945

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



22937
22938
22939
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22937

def to_json
  JSON.dump(to_hash)
end