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.
24235 24236 24237 24238 24239 24240 24241 24242 24243 24244 24245 24246 24247 24248 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24235 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.
24233 24234 24235 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24233 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
24233 24234 24235 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24233 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
24233 24234 24235 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24233 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
24233 24234 24235 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24233 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
24233 24234 24235 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24233 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
24233 24234 24235 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24233 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
24233 24234 24235 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24233 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
24233 24234 24235 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24233 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
24233 24234 24235 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24233 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
24233 24234 24235 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24233 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
24254 24255 24256 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24254 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
24258 24259 24260 24261 24262 24263 24264 24265 24266 24267 24268 24269 24270 24271 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24258 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
24250 24251 24252 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24250 def to_json JSON.dump(to_hash) end |