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.
17811 17812 17813 17814 17815 17816 17817 17818 17819 17820 17821 17822 17823 17824 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17811 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.
17809 17810 17811 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17809 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
17809 17810 17811 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17809 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
17809 17810 17811 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17809 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
17809 17810 17811 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17809 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
17809 17810 17811 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17809 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
17809 17810 17811 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17809 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
17809 17810 17811 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17809 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
17809 17810 17811 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17809 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
17809 17810 17811 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17809 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
17809 17810 17811 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17809 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
17830 17831 17832 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17830 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
17834 17835 17836 17837 17838 17839 17840 17841 17842 17843 17844 17845 17846 17847 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17834 def to_hash { :id => id, :key => key, :authorization => .to_hash, :amount => amount, :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
17826 17827 17828 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17826 def to_json JSON.dump(to_hash) end |