Module: RailsTracepointStack::Renderer::Summary
- Defined in:
- lib/rails_tracepoint_stack/renderer/summary.rb
Overview
Counts what a session holds, so a reader can tell at a glance whether the capture saw what they expected before reading the tree itself.
Class Method Summary collapse
- .call(session) ⇒ Object
- .count(session, kind) ⇒ Object
- .line(session) ⇒ Object
- .pluralize(count, singular, plural = "#{singular}s") ⇒ Object
Class Method Details
.call(session) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/rails_tracepoint_stack/renderer/summary.rb', line 6 def self.call(session) { calls: count(session, :call), returns: count(session, :return), raises: count(session, :raise), classes: session.traces.map(&:class_name).uniq.size, filtered: session.filtered_count, truncated: session.truncated? } end |
.count(session, kind) ⇒ Object
28 29 30 |
# File 'lib/rails_tracepoint_stack/renderer/summary.rb', line 28 def self.count(session, kind) session.traces.count { |record| record.kind == kind } end |
.line(session) ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rails_tracepoint_stack/renderer/summary.rb', line 17 def self.line(session) counts = call(session) [ pluralize(counts[:calls], "call"), pluralize(counts[:returns], "return"), pluralize(counts[:raises], "raise"), pluralize(counts[:classes], "class", "classes") ].join(", ") end |
.pluralize(count, singular, plural = "#{singular}s") ⇒ Object
32 33 34 |
# File 'lib/rails_tracepoint_stack/renderer/summary.rb', line 32 def self.pluralize(count, singular, plural = "#{singular}s") "#{count} #{(count == 1) ? singular : plural}" end |