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.
24909 24910 24911 24912 24913 24914 24915 24916 24917 24918 24919 24920 24921 24922 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24909 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.
24907 24908 24909 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24907 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
24907 24908 24909 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24907 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
24907 24908 24909 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24907 def end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
24907 24908 24909 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24907 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
24907 24908 24909 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24907 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
24907 24908 24909 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24907 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
24907 24908 24909 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24907 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
24907 24908 24909 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24907 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
24907 24908 24909 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24907 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
24907 24908 24909 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24907 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
24928 24929 24930 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24928 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
24932 24933 24934 24935 24936 24937 24938 24939 24940 24941 24942 24943 24944 24945 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24932 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
24924 24925 24926 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24924 def to_json JSON.dump(to_hash) end |