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.
17672 17673 17674 17675 17676 17677 17678 17679 17680 17681 17682 17683 17684 17685 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17672 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.
17670 17671 17672 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17670 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
17670 17671 17672 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17670 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
17670 17671 17672 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17670 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
17670 17671 17672 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17670 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
17670 17671 17672 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17670 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
17670 17671 17672 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17670 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
17670 17671 17672 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17670 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
17670 17671 17672 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17670 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
17670 17671 17672 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17670 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
17670 17671 17672 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17670 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
17691 17692 17693 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17691 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
17695 17696 17697 17698 17699 17700 17701 17702 17703 17704 17705 17706 17707 17708 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17695 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
17687 17688 17689 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 17687 def to_json JSON.dump(to_hash) end |