Module: ActiveRecordTracer
- Defined in:
- lib/active_record_tracer.rb,
lib/active_record_tracer/report.rb,
lib/active_record_tracer/version.rb,
lib/active_record_tracer/reporter.rb
Defined Under Namespace
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
-
.backtrace_cleaner ⇒ Proc
Backtrace cleaner to use when cleaning backtraces.
-
.backtrace_cleaner=(value) ⇒ Object
Set backtrace cleaner to be used when cleaning backtraces.
-
.report(**options) ⇒ ActiveRecordTracer::Report
Helper for running against block and generating a report.
-
.start(**options) ⇒ void
Start collecting data for the report.
-
.stop ⇒ ActiveRecordTracer::Report
Stop collecting data for the report.
Class Method Details
.backtrace_cleaner ⇒ Proc
Backtrace cleaner to use when cleaning backtraces.
It will use 'Rails.backtrace_cleaner' by default if it is available.
61 62 63 64 65 66 67 68 |
# File 'lib/active_record_tracer.rb', line 61 def self.backtrace_cleaner @backtrace_cleaner ||= if defined?(Rails.backtrace_cleaner) ->(backtrace) { Rails.backtrace_cleaner.clean(backtrace) } else ->(backtrace) { backtrace } end end |
.backtrace_cleaner=(value) ⇒ Object
Set backtrace cleaner to be used when cleaning backtraces.
74 75 76 77 78 79 80 81 |
# File 'lib/active_record_tracer.rb', line 74 def self.backtrace_cleaner=(value) @backtrace_cleaner = if value.is_a?(Proc) value else ->(backtrace) { value.clean(backtrace) } end end |
.report(**options) ⇒ ActiveRecordTracer::Report
Helper for running against block and generating a report.
25 26 27 28 29 30 31 |
# File 'lib/active_record_tracer.rb', line 25 def self.report(**) start(**) yield stop ensure stop end |
.start(**options) ⇒ void
This method returns an undefined value.
Start collecting data for the report.
38 39 40 41 42 43 |
# File 'lib/active_record_tracer.rb', line 38 def self.start(**) unless Reporter.current Reporter.current = Reporter.new(**) Reporter.current.start end end |
.stop ⇒ ActiveRecordTracer::Report
Stop collecting data for the report.
49 50 51 52 53 |
# File 'lib/active_record_tracer.rb', line 49 def self.stop Reporter.current&.stop ensure Reporter.current = nil end |