Module: RubyEventStore::CLI::EventRenderer
- Included in:
- Commands::Search, Commands::StreamEvents
- Defined in:
- lib/ruby_event_store/cli/event_renderer.rb
Instance Method Summary collapse
Instance Method Details
#render(events, format:) ⇒ Object
8 9 10 11 12 13 |
# File 'lib/ruby_event_store/cli/event_renderer.rb', line 8 def render(events, format:) case format when "json" then render_json(events) when "table" then render_table(events) end end |
#render_json(events) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/ruby_event_store/cli/event_renderer.rb', line 15 def render_json(events) puts JSON.pretty_generate(events.map { |e| { event_id: e.event_id, event_type: e.event_type, data: e.data, metadata: e..to_h, timestamp: e..iso8601(3) } }) end |
#render_table(events) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ruby_event_store/cli/event_renderer.rb', line 22 def render_table(events) return puts "(no events)" if events.empty? puts "%-36s %-40s %s" % ["EVENT ID", "TYPE", "TIMESTAMP"] puts "-" * 90 events.each do |e| puts "%-36s %-40s %s" % [e.event_id, e.event_type, e..iso8601(3)] end puts "\n#{events.size} event(s)" end |