Class Index [+]

Quicksearch

ActiveSupport::DescendantsTracker

This module provides an internal implementation to track descendants which is faster than iterating through ObjectSpace.

Public Class Methods

clear() click to toggle source
    # File lib/active_support/descendants_tracker.rb, line 20
20:     def self.clear
21:       @@direct_descendants.each do |klass, descendants|
22:         if ActiveSupport::Dependencies.autoloaded?(klass)
23:           @@direct_descendants.delete(klass)
24:         else
25:           descendants.reject! { |v| ActiveSupport::Dependencies.autoloaded?(v) }
26:         end
27:       end
28:     end
descendants(klass) click to toggle source
    # File lib/active_support/descendants_tracker.rb, line 13
13:     def self.descendants(klass)
14:       @@direct_descendants[klass].inject([]) do |descendants, _klass|
15:         descendants << _klass
16:         descendants.concat _klass.descendants
17:       end
18:     end
direct_descendants(klass) click to toggle source
    # File lib/active_support/descendants_tracker.rb, line 9
 9:     def self.direct_descendants(klass)
10:       @@direct_descendants[klass]
11:     end

Public Instance Methods

descendants() click to toggle source
    # File lib/active_support/descendants_tracker.rb, line 39
39:     def descendants
40:       DescendantsTracker.descendants(self)
41:     end
direct_descendants() click to toggle source
    # File lib/active_support/descendants_tracker.rb, line 35
35:     def direct_descendants
36:       DescendantsTracker.direct_descendants(self)
37:     end
inherited(base) click to toggle source
    # File lib/active_support/descendants_tracker.rb, line 30
30:     def inherited(base)
31:       self.direct_descendants << base
32:       super
33:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.