Files

Class/Module Index [+]

Quicksearch

DescendantsTracker

Module that adds descendant tracking to a class

Constants

VERSION

Unreleased gem version

Public Class Methods

setup(descendant) click to toggle source

@return [Array]

@private

# File lib/descendants_tracker.rb, line 14
def self.setup(descendant)
  descendant.instance_variable_set('@descendants', [])
end

Public Instance Methods

add_descendant(descendant) click to toggle source

Add the descendant to this class and the superclass

@param [Class] descendant

@return [self]

@api private

# File lib/descendants_tracker.rb, line 38
def add_descendant(descendant)
  ancestor = superclass
  if ancestor.respond_to?(:add_descendant)
    ancestor.add_descendant(descendant)
  end
  descendants.unshift(descendant)
  self
end
descendants() click to toggle source

Return the descendants of this class

@example

descendants = ParentClass.descendants

@return [Array<Class>]

@api public

# File lib/descendants_tracker.rb, line 27
def descendants
  @descendants
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.