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.
24637 24638 24639 24640 24641 24642 24643 24644 24645 24646 24647 24648 24649 24650 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24637 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.
24635 24636 24637 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24635 def amount @amount end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
24635 24636 24637 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24635 def attributes @attributes end |
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
24635 24636 24637 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24635 def @authorization end |
#base ⇒ Object (readonly)
Returns the value of attribute base.
24635 24636 24637 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24635 def base @base end |
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
24635 24636 24637 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24635 def created_at @created_at end |
#currency ⇒ Object (readonly)
Returns the value of attribute currency.
24635 24636 24637 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24635 def currency @currency end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
24635 24636 24637 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24635 def id @id end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
24635 24636 24637 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24635 def key @key end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested.
24635 24636 24637 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24635 def requested @requested end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
24635 24636 24637 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24635 def status @status end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
24656 24657 24658 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24656 def copy(incoming={}) Capture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
24660 24661 24662 24663 24664 24665 24666 24667 24668 24669 24670 24671 24672 24673 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24660 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
24652 24653 24654 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24652 def to_json JSON.dump(to_hash) end |