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.
18284 18285 18286 18287 18288 18289 18290 18291 18292 18293 18294 18295 18296 18297 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18284 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.
18282 18283 18284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18282 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
18282 18283 18284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18282 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
18282 18283 18284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18282 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
18282 18283 18284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18282 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
18282 18283 18284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18282 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
18282 18283 18284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18282 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
18282 18283 18284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18282 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
18282 18283 18284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18282 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
18282 18283 18284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18282 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
18282 18283 18284 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18282 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
18303 18304 18305 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18303 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
18307 18308 18309 18310 18311 18312 18313 18314 18315 18316 18317 18318 18319 18320 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18307 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
18299 18300 18301 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18299 def to_json JSON.dump(to_hash) end |