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.
19972 19973 19974 19975 19976 19977 19978 19979 19980 19981 19982 19983 19984 19985 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19972 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.
19970 19971 19972 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19970 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
19970 19971 19972 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19970 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
19970 19971 19972 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19970 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
19970 19971 19972 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19970 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
19970 19971 19972 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19970 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
19970 19971 19972 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19970 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
19970 19971 19972 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19970 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
19970 19971 19972 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19970 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
19970 19971 19972 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19970 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
19970 19971 19972 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19970 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
19991 19992 19993 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19991 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
19995 19996 19997 19998 19999 20000 20001 20002 20003 20004 20005 20006 20007 20008 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19995 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
19987 19988 19989 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19987 def to_json JSON.dump(to_hash) end |