Class: RubyEventStore::CLI::Commands::StreamEvents

Inherits:
Base
  • Object
show all
Includes:
EventRenderer
Defined in:
lib/ruby_event_store/cli/commands/stream_events.rb

Instance Method Summary collapse

Methods included from EventRenderer

#render, #render_json, #render_table

Instance Method Details

#call(stream_name:, limit:, format:, type: nil, after: nil, before: nil, from: nil, follow: false) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ruby_event_store/cli/commands/stream_events.rb', line 24

def call(stream_name:, limit:, format:, type: nil, after: nil, before: nil, from: nil, follow: false, **)
  specification = event_store.read.stream(stream_name)
  events = ReadEvents.of(specification, type: type, after: after, before: before, from: from, limit: limit)
  render(events, format: format)
  tail(stream_name, last_id: events.last&.event_id, type: type, format: format) if follow
rescue Interrupt
  exit 0
rescue => e
  warn e.message
  exit 1
end