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.
32713 32714 32715 32716 32717 32718 32719 32720 32721 32722 32723 32724 32725 32726 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32713 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.
32711 32712 32713 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32711 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
32711 32712 32713 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32711 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
32711 32712 32713 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32711 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
32711 32712 32713 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32711 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
32711 32712 32713 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32711 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
32711 32712 32713 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32711 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
32711 32712 32713 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32711 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
32711 32712 32713 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32711 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
32711 32712 32713 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32711 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
32711 32712 32713 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32711 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
32732 32733 32734 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32732 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
32736 32737 32738 32739 32740 32741 32742 32743 32744 32745 32746 32747 32748 32749 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32736 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
32728 32729 32730 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32728 def to_json JSON.dump(to_hash) end |