Class: Io::Flow::V0::Models::Capture
- Inherits:
-
Object
- Object
- Io::Flow::V0::Models::Capture
- 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
-
#amount ⇒ Object
readonly
Returns the value of attribute amount.
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#authorization ⇒ Object
readonly
Returns the value of attribute authorization.
-
#base ⇒ Object
readonly
Returns the value of attribute base.
-
#created_at ⇒ Object
readonly
Returns the value of attribute created_at.
-
#currency ⇒ Object
readonly
Returns the value of attribute currency.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#key ⇒ Object
readonly
Returns the value of attribute key.
-
#requested ⇒ Object
readonly
Returns the value of attribute requested.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
Instance Method Summary collapse
- #copy(incoming = {}) ⇒ Object
-
#initialize(incoming = {}) ⇒ Capture
constructor
A new instance of Capture.
- #to_hash ⇒ Object
- #to_json ⇒ Object
Constructor Details
#initialize(incoming = {}) ⇒ Capture
Returns a new instance of Capture.
28476 28477 28478 28479 28480 28481 28482 28483 28484 28485 28486 28487 28488 28489 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28476 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) @requested = (x = opts.delete(:requested); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x))) @created_at = HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:created_at)), DateTime) @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 }) @status = (x = (x = opts.delete(:status); x.nil? ? "succeeded" : x); x.is_a?(::Io::Flow::V0::Models::CaptureStatus) ? x : ::Io::Flow::V0::Models::CaptureStatus.apply(x)) @base = (x = opts.delete(:base); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x))) end |
Instance Attribute Details
#amount ⇒ Object (readonly)
Returns the value of attribute amount.
28474 28475 28476 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28474 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
28474 28475 28476 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28474 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
28474 28475 28476 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28474 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
28474 28475 28476 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28474 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
28474 28475 28476 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28474 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
28474 28475 28476 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28474 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
28474 28475 28476 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28474 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
28474 28475 28476 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28474 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
28474 28475 28476 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28474 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
28474 28475 28476 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28474 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
28495 28496 28497 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28495 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
28499 28500 28501 28502 28503 28504 28505 28506 28507 28508 28509 28510 28511 28512 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28499 def to_hash { :id => id, :key => key, :authorization => .to_hash, :amount => amount.to_f.to_s, :currency => currency, :requested => requested.nil? ? nil : requested.to_hash, :created_at => created_at, :attributes => attributes.nil? ? nil : attributes, :status => status.value, :base => base.nil? ? nil : base.to_hash } end |
#to_json ⇒ Object
28491 28492 28493 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 28491 def to_json JSON.dump(to_hash) end |