Class: DeadCodeDetector::Initializer
- Inherits:
-
Object
- Object
- DeadCodeDetector::Initializer
- Defined in:
- lib/dead_code_detector/initializer.rb
Class Method Summary collapse
- .allowed? ⇒ Boolean
- .cached_classes ⇒ Object
- .clear_cache ⇒ Object
- .enable(klass) ⇒ Object
- .enable_for_cached_classes! ⇒ Object
- .refresh_cache_for(klass) ⇒ Object
- .refresh_caches ⇒ Object
Class Method Details
.allowed? ⇒ Boolean
46 47 48 49 50 51 52 |
# File 'lib/dead_code_detector/initializer.rb', line 46 def allowed? if DeadCodeDetector.config.allowed.respond_to?(:call) DeadCodeDetector.config.allowed.call else DeadCodeDetector.config.allowed end end |
.cached_classes ⇒ Object
54 55 56 |
# File 'lib/dead_code_detector/initializer.rb', line 54 def cached_classes DeadCodeDetector.config.storage.get(tracked_classes_key) end |
.clear_cache ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/dead_code_detector/initializer.rb', line 20 def clear_cache cached_classes.each do |class_name| klass = Object.const_get(class_name) rescue nil if klass DeadCodeDetector::ClassMethodWrapper.new(klass).clear_cache DeadCodeDetector::InstanceMethodWrapper.new(klass).clear_cache end end DeadCodeDetector.config.storage.clear(tracked_classes_key) end |
.enable(klass) ⇒ Object
31 32 33 34 |
# File 'lib/dead_code_detector/initializer.rb', line 31 def enable(klass) DeadCodeDetector::ClassMethodWrapper.new(klass).wrap_methods! DeadCodeDetector::InstanceMethodWrapper.new(klass).wrap_methods! end |
.enable_for_cached_classes! ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/dead_code_detector/initializer.rb', line 36 def enable_for_cached_classes! return if @enabled return unless allowed? @enabled = true cached_classes.each do |class_name| klass = Object.const_get(class_name) rescue nil enable(klass) if klass end end |
.refresh_cache_for(klass) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/dead_code_detector/initializer.rb', line 12 def refresh_cache_for(klass) @enabled = false classes = [klass, *descendants_of(klass)] classes.each do |class_to_enable| cache_methods_for(class_to_enable) end end |
.refresh_caches ⇒ Object
6 7 8 9 10 |
# File 'lib/dead_code_detector/initializer.rb', line 6 def refresh_caches DeadCodeDetector.config.classes_to_monitor.each do |klass| refresh_cache_for(klass) end end |