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.
23542 23543 23544 23545 23546 23547 23548 23549 23550 23551 23552 23553 23554 23555 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23542 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.
23540 23541 23542 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23540 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
23540 23541 23542 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23540 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
23540 23541 23542 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23540 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
23540 23541 23542 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23540 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
23540 23541 23542 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23540 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
23540 23541 23542 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23540 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
23540 23541 23542 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23540 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
23540 23541 23542 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23540 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
23540 23541 23542 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23540 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
23540 23541 23542 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23540 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
23561 23562 23563 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23561 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
23565 23566 23567 23568 23569 23570 23571 23572 23573 23574 23575 23576 23577 23578 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23565 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
23557 23558 23559 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23557 def to_json JSON.dump(to_hash) end |