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.



23679
23680
23681
23682
23683
23684
23685
23686
23687
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23679

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.



23677
23678
23679
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23677

def amount
  @amount
end

#attributesObject (readonly)

Returns the value of attribute attributes.



23677
23678
23679
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23677

def attributes
  @attributes
end

#authorization_idObject (readonly)

Returns the value of attribute authorization_id.



23677
23678
23679
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23677

def authorization_id
  @authorization_id
end

#currencyObject (readonly)

Returns the value of attribute currency.



23677
23678
23679
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23677

def currency
  @currency
end

#keyObject (readonly)

Returns the value of attribute key.



23677
23678
23679
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23677

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



23693
23694
23695
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23693

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

#to_hashObject



23697
23698
23699
23700
23701
23702
23703
23704
23705
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23697

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



23689
23690
23691
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23689

def to_json
  JSON.dump(to_hash)
end