Class: FastCov::ConstGetTracker
- Inherits:
-
AbstractTracker
- Object
- AbstractTracker
- FastCov::ConstGetTracker
- Defined in:
- lib/fast_cov/trackers/const_get_tracker.rb
Overview
Tracks constants looked up dynamically via Module#const_get.
This catches dynamic constant lookups that static analysis misses:
-
Object.const_get(“Foo::Bar”)
-
Rails’ “UserMailer”.constantize (uses const_get under the hood)
-
Any metaprogramming that looks up constants by string name
Note: This does NOT catch direct constant references like ‘Foo::Bar` in source code - those compile to opt_getconstant_path bytecode and bypass const_get.
Register via: coverage_map.use(FastCov::ConstGetTracker)
Defined Under Namespace
Modules: ConstGetPatch
Instance Attribute Summary
Attributes inherited from AbstractTracker
Instance Method Summary collapse
Methods inherited from AbstractTracker
#initialize, #on_record, #on_start, #on_stop, #record, record, reset, #root, #start, #stop
Constructor Details
This class inherits a constructor from FastCov::AbstractTracker
Instance Method Details
#install ⇒ Object
18 19 20 21 22 |
# File 'lib/fast_cov/trackers/const_get_tracker.rb', line 18 def install return if Module.ancestors.include?(ConstGetPatch) Module.prepend(ConstGetPatch) end |