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



11855
11856
11857
11858
11859
11860
11861
11862
11863
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11855

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.



11853
11854
11855
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11853

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



11853
11854
11855
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11853

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



11853
11854
11855
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11853

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



11853
11854
11855
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11853

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



11853
11854
11855
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11853

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



11869
11870
11871
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11869

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

#to_hashObject



11873
11874
11875
11876
11877
11878
11879
11880
11881
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11873

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

#to_jsonObject



11865
11866
11867
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 11865

def to_json
  JSON.dump(to_hash)
end