Module: Rubyists::Kalshi::Listable

Included in:
Events::List, Events::Multivariate, Market::Markets, Market::SeriesList, Market::Trades
Defined in:
lib/kalshi/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



7
8
9
# File 'lib/kalshi/listable.rb', line 7

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)


23
24
25
26
27
28
# File 'lib/kalshi/listable.rb', line 23

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