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.
17744 17745 17746 17747 17748 17749 17750 17751 17752 17753 17754 17755 17756 17757 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17744 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.
17742 17743 17744 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17742 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
17742 17743 17744 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17742 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
17742 17743 17744 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17742 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
17742 17743 17744 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17742 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
17742 17743 17744 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17742 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
17742 17743 17744 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17742 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
17742 17743 17744 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17742 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
17742 17743 17744 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17742 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
17742 17743 17744 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17742 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
17742 17743 17744 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17742 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
17763 17764 17765 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17763 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
17767 17768 17769 17770 17771 17772 17773 17774 17775 17776 17777 17778 17779 17780 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17767 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
17759 17760 17761 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17759 def to_json JSON.dump(to_hash) end |