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.
23102 23103 23104 23105 23106 23107 23108 23109 23110 23111 23112 23113 23114 23115 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23102 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) = (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.
23100 23101 23102 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23100 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
23100 23101 23102 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23100 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
23100 23101 23102 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23100 def end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
23100 23101 23102 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23100 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
23100 23101 23102 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23100 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
23100 23101 23102 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23100 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
23100 23101 23102 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23100 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
23100 23101 23102 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23100 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
23100 23101 23102 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23100 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
23100 23101 23102 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23100 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
23121 23122 23123 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23121 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
23125 23126 23127 23128 23129 23130 23131 23132 23133 23134 23135 23136 23137 23138 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23125 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
23117 23118 23119 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23117 def to_json JSON.dump(to_hash) end |