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.
23011 23012 23013 23014 23015 23016 23017 23018 23019 23020 23021 23022 23023 23024 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23011 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.
23009 23010 23011 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23009 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
23009 23010 23011 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23009 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
23009 23010 23011 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23009 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
23009 23010 23011 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23009 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
23009 23010 23011 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23009 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
23009 23010 23011 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23009 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
23009 23010 23011 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23009 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
23009 23010 23011 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23009 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
23009 23010 23011 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23009 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
23009 23010 23011 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23009 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
23030 23031 23032 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23030 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
23034 23035 23036 23037 23038 23039 23040 23041 23042 23043 23044 23045 23046 23047 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23034 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
23026 23027 23028 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23026 def to_json JSON.dump(to_hash) end |