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.
23569 23570 23571 23572 23573 23574 23575 23576 23577 23578 23579 23580 23581 23582 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23569 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.
23567 23568 23569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23567 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
23567 23568 23569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23567 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
23567 23568 23569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23567 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
23567 23568 23569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23567 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
23567 23568 23569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23567 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
23567 23568 23569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23567 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
23567 23568 23569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23567 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
23567 23568 23569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23567 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
23567 23568 23569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23567 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
23567 23568 23569 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23567 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
23588 23589 23590 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23588 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
23592 23593 23594 23595 23596 23597 23598 23599 23600 23601 23602 23603 23604 23605 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23592 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
23584 23585 23586 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23584 def to_json JSON.dump(to_hash) end |