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.
19269 19270 19271 19272 19273 19274 19275 19276 19277 19278 19279 19280 19281 19282 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19269 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) = (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.
19267 19268 19269 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19267 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
19267 19268 19269 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19267 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
19267 19268 19269 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19267 def end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
19267 19268 19269 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19267 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
19267 19268 19269 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19267 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
19267 19268 19269 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19267 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
19267 19268 19269 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19267 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
19267 19268 19269 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19267 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
19267 19268 19269 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19267 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
19267 19268 19269 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19267 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
19288 19289 19290 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19288 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
19292 19293 19294 19295 19296 19297 19298 19299 19300 19301 19302 19303 19304 19305 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19292 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
19284 19285 19286 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19284 def to_json JSON.dump(to_hash) end |