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.
24092 24093 24094 24095 24096 24097 24098 24099 24100 24101 24102 24103 24104 24105 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24092 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.
24090 24091 24092 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24090 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
24090 24091 24092 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24090 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
24090 24091 24092 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24090 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
24090 24091 24092 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24090 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
24090 24091 24092 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24090 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
24090 24091 24092 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24090 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
24090 24091 24092 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24090 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
24090 24091 24092 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24090 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
24090 24091 24092 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24090 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
24090 24091 24092 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24090 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
24111 24112 24113 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24111 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
24115 24116 24117 24118 24119 24120 24121 24122 24123 24124 24125 24126 24127 24128 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24115 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
24107 24108 24109 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24107 def to_json JSON.dump(to_hash) end |