This module provides an internal implementation to track descendants which is faster than iterating through ObjectSpace.
Methods
Instance Public methods
clear()
Link
# File activesupport/lib/active_support/descendants_tracker.rb, line 18 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
inherited(base)
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.