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.
19009 19010 19011 19012 19013 19014 19015 19016 19017 19018 19019 19020 19021 19022 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19009 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.
19007 19008 19009 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19007 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
19007 19008 19009 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19007 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
19007 19008 19009 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19007 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
19007 19008 19009 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19007 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
19007 19008 19009 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19007 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
19007 19008 19009 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19007 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
19007 19008 19009 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19007 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
19007 19008 19009 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19007 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
19007 19008 19009 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19007 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
19007 19008 19009 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19007 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
19028 19029 19030 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19028 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
19032 19033 19034 19035 19036 19037 19038 19039 19040 19041 19042 19043 19044 19045 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19032 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
19024 19025 19026 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19024 def to_json JSON.dump(to_hash) end |