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.



17921
17922
17923
17924
17925
17926
17927
17928
17929
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17921

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.



17919
17920
17921
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17919

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



17919
17920
17921
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17919

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



17919
17920
17921
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17919

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



17919
17920
17921
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17919

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



17919
17920
17921
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17919

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



17935
17936
17937
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17935

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

#to_hashObject



17939
17940
17941
17942
17943
17944
17945
17946
17947
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17939

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

#to_jsonObject



17931
17932
17933
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17931

def to_json
  JSON.dump(to_hash)
end