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.



7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7158

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.



7156
7157
7158
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7156

def amount
  @amount
end

#authorizationObject (readonly)

Returns the value of attribute authorization.



7156
7157
7158
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7156

def authorization
  @authorization
end

#created_atObject (readonly)

Returns the value of attribute created_at.



7156
7157
7158
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7156

def created_at
  @created_at
end

#currencyObject (readonly)

Returns the value of attribute currency.



7156
7157
7158
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7156

def currency
  @currency
end

#idObject (readonly)

Returns the value of attribute id.



7156
7157
7158
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7156

def id
  @id
end

#keyObject (readonly)

Returns the value of attribute key.



7156
7157
7158
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7156

def key
  @key
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



7173
7174
7175
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7173

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

#to_hashObject



7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7177

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

#to_jsonObject



7169
7170
7171
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 7169

def to_json
  JSON.dump(to_hash)
end