This module provides an internal implementation to track descendants which is faster than iterating through ObjectSpace.
Methods
- C
- D
- I
- S
Class Public methods
clear() Link
# File activesupport/lib/active_support/descendants_tracker.rb, line 24 def clear if defined? ActiveSupport::Dependencies @@direct_descendants.each do |klass, descendants| if Dependencies.autoloaded?(klass) @@direct_descendants.delete(klass) else descendants.reject! { |v| Dependencies.autoloaded?(v) } end end else @@direct_descendants.clear end end
descendants(klass) Link
store_inherited(klass, descendant) Link
This is the only method that is not thread safe, but is only ever called during the eager loading phase.