Class: Io::Flow::V0::Models::Capture

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 = {}) ⇒ Capture

Returns a new instance of Capture.



7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7812

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:id, :key, :authorization, :amount, :currency, :created_at], 'Capture')
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
  @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
  @authorization = (x = opts.delete(:authorization); x.is_a?(::Io::Flow::V0::Models::AuthorizationReference) ? x : ::Io::Flow::V0::Models::AuthorizationReference.new(x))
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
  @created_at = HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:created_at)), DateTime)
end

Instance Attribute Details

#amountObject (readonly)

Returns the value of attribute amount.



7810
7811
7812
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7810

def amount
  @amount
end

#authorizationObject (readonly)

Returns the value of attribute authorization.



7810
7811
7812
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7810

def authorization
  @authorization
end

#created_atObject (readonly)

Returns the value of attribute created_at.



7810
7811
7812
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7810

def created_at
  @created_at
end

#currencyObject (readonly)

Returns the value of attribute currency.



7810
7811
7812
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7810

def currency
  @currency
end

#idObject (readonly)

Returns the value of attribute id.



7810
7811
7812
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7810

def id
  @id
end

#keyObject (readonly)

Returns the value of attribute key.



7810
7811
7812
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7810

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



7827
7828
7829
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7827

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

#to_hashObject



7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7831

def to_hash
  {
    :id => id,
    :key => key,
    :authorization => authorization.to_hash,
    :amount => amount,
    :currency => currency,
    :created_at => created_at
  }
end

#to_jsonObject



7823
7824
7825
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7823

def to_json
  JSON.dump(to_hash)
end