Module: Rubyists::Domeapi::Polymarket::Listable

Included in:
Activity, Candlesticks, MarketPrice, Markets, Orderbook, TradeHistory, Wallet, WalletProfitAndLoss
Defined in:
lib/domeapi/polymarket/listable.rb

Overview

Mixin for listable resources

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



8
9
10
# File 'lib/domeapi/polymarket/listable.rb', line 8

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#list(filter = self.class::Filter.new(self.class::Filter::Properties.new)) ⇒ Hash|Array

List resources

Parameters:

  • filter (Filter|Hash) (defaults to: self.class::Filter.new(self.class::Filter::Properties.new)) —

    Filter options

Returns:

  • (Hash|Array) —

    resource data

Raises:

  • (ArgumentError)


35
36
37
38
39
40
# File 'lib/domeapi/polymarket/listable.rb', line 35

def list(filter = self.class::Filter.new(self.class::Filter::Properties.new))
  filter = self.class::Filter.new(self.class::Filter::Properties.new(**filter)) if filter.is_a?(Hash)
  raise ArgumentError, filter.errors.full_messages.join(', ') unless filter.validate({})

  client.get(self.class.endpoint_path, params: filter.to_h)
end