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.
18428 18429 18430 18431 18432 18433 18434 18435 18436 18437 18438 18439 18440 18441 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18428 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.
18426 18427 18428 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18426 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
18426 18427 18428 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18426 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
18426 18427 18428 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18426 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
18426 18427 18428 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18426 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
18426 18427 18428 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18426 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
18426 18427 18428 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18426 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
18426 18427 18428 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18426 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
18426 18427 18428 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18426 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
18426 18427 18428 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18426 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
18426 18427 18428 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18426 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
18447 18448 18449 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18447 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
18451 18452 18453 18454 18455 18456 18457 18458 18459 18460 18461 18462 18463 18464 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18451 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
18443 18444 18445 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18443 def to_json JSON.dump(to_hash) end |