Class: Paymos::Withdrawals
- Defined in:
- lib/paymos/client.rb,
sig/paymos.rbs
Instance Method Summary collapse
- #cancel(withdrawal_id, reason:) ⇒ Withdrawal
- #create(destination_address:, network:, currency:, amount:, external_order_id:) ⇒ Withdrawal
- #each(max_pages: 100, **filters) {|arg0| ... } ⇒ Object
- #get(withdrawal_id) ⇒ Withdrawal
- #list(limit: nil, cursor: nil, status: nil, external_order_id: nil, created_from: nil, created_to: nil) ⇒ Page[Withdrawal]
- #simulate_completion(withdrawal_id) ⇒ Withdrawal
Methods inherited from Resource
Constructor Details
This class inherits a constructor from Paymos::Resource
Instance Method Details
#cancel(withdrawal_id, reason:) ⇒ Withdrawal
269 270 271 272 |
# File 'lib/paymos/client.rb', line 269 def cancel(withdrawal_id, reason:) Withdrawal.from(@client.request('POST', "/v1/withdrawals/#{segment(withdrawal_id)}/cancel", payload: { reason: validate_reason(reason) })) end |
#create(destination_address:, network:, currency:, amount:, external_order_id:) ⇒ Withdrawal
252 253 254 255 256 257 258 |
# File 'lib/paymos/client.rb', line 252 def create(destination_address:, network:, currency:, amount:, external_order_id:) values = { destination_address:, network:, currency:, amount:, external_order_id: } missing = values.select { |_name, value| !value.is_a?(String) || value.strip.empty? }.keys raise ArgumentError, "Required values are missing: #{missing.join(', ')}" unless missing.empty? Withdrawal.from(@client.request('POST', '/v1/withdrawals', payload: values)) end |
#each(max_pages:, filters) ⇒ void #each(max_pages:, filters) ⇒ Enumerator[Withdrawal, void]
278 279 280 281 282 |
# File 'lib/paymos/client.rb', line 278 def each(max_pages: 100, **filters, &block) return enum_for(__method__, max_pages: max_pages, **filters) unless block_given? Pagination.each(method(:list), filters, max_pages:, &block) end |
#get(withdrawal_id) ⇒ Withdrawal
260 |
# File 'lib/paymos/client.rb', line 260 def get(withdrawal_id) = Withdrawal.from(@client.request('GET', "/v1/withdrawals/#{segment(withdrawal_id)}")) |
#list(limit: nil, cursor: nil, status: nil, external_order_id: nil, created_from: nil, created_to: nil) ⇒ Page[Withdrawal]
262 263 264 265 266 267 |
# File 'lib/paymos/client.rb', line 262 def list(limit: nil, cursor: nil, status: nil, external_order_id: nil, created_from: nil, created_to: nil) filters = validate_list_filters({ limit:, cursor:, status:, external_order_id:, created_from:, created_to: }.compact) Page.from(@client.request('GET', '/v1/withdrawals', query: Signing.query(filters)), item_type: Withdrawal) end |
#simulate_completion(withdrawal_id) ⇒ Withdrawal
274 275 276 |
# File 'lib/paymos/client.rb', line 274 def simulate_completion(withdrawal_id) Withdrawal.from(@client.request('POST', "/v1/sandbox/withdrawals/#{segment(withdrawal_id)}/simulate-completion")) end |