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 20 def clear if defined? ActiveSupport::Dependencies @@direct_descendants.each do |klass, descendants| if ActiveSupport::Dependencies.autoloaded?(klass) @@direct_descendants.delete(klass) else descendants.reject! { |v| ActiveSupport::Dependencies.autoloaded?(v) } end end else @@direct_descendants.clear end end
descendants(klass)
Link
direct_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.
Instance Public methods
descendants()
Link
direct_descendants()
Link