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.
21593 21594 21595 21596 21597 21598 21599 21600 21601 21602 21603 21604 21605 21606 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21593 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) = (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.
21591 21592 21593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21591 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
21591 21592 21593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21591 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
21591 21592 21593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21591 def end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
21591 21592 21593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21591 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
21591 21592 21593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21591 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
21591 21592 21593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21591 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
21591 21592 21593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21591 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
21591 21592 21593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21591 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
21591 21592 21593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21591 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
21591 21592 21593 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21591 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
21612 21613 21614 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21612 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
21616 21617 21618 21619 21620 21621 21622 21623 21624 21625 21626 21627 21628 21629 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21616 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
21608 21609 21610 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21608 def to_json JSON.dump(to_hash) end |