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



10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10916

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.



10914
10915
10916
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10914

def amount
  @amount
end

#authorizationObject (readonly)

Returns the value of attribute authorization.



10914
10915
10916
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10914

def authorization
  @authorization
end

#created_atObject (readonly)

Returns the value of attribute created_at.



10914
10915
10916
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10914

def created_at
  @created_at
end

#currencyObject (readonly)

Returns the value of attribute currency.



10914
10915
10916
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10914

def currency
  @currency
end

#idObject (readonly)

Returns the value of attribute id.



10914
10915
10916
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10914

def id
  @id
end

#keyObject (readonly)

Returns the value of attribute key.



10914
10915
10916
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10914

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



10931
10932
10933
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10931

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

#to_hashObject



10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10935

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

#to_jsonObject



10927
10928
10929
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10927

def to_json
  JSON.dump(to_hash)
end