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.
22817 22818 22819 22820 22821 22822 22823 22824 22825 22826 22827 22828 22829 22830 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22817 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.
22815 22816 22817 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22815 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
22815 22816 22817 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22815 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
22815 22816 22817 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22815 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
22815 22816 22817 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22815 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
22815 22816 22817 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22815 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
22815 22816 22817 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22815 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
22815 22816 22817 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22815 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
22815 22816 22817 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22815 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
22815 22816 22817 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22815 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
22815 22816 22817 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22815 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
22836 22837 22838 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22836 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
22840 22841 22842 22843 22844 22845 22846 22847 22848 22849 22850 22851 22852 22853 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22840 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
22832 22833 22834 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22832 def to_json JSON.dump(to_hash) end |