class ClassNode
Attributes
klass[R]
Public Class Methods
new(klass)
click to toggle source
# File lib/ClassNode.rb, line 4 def initialize klass @klass = klass end
Public Instance Methods
==(other)
click to toggle source
# File lib/ClassNode.rb, line 50 def == other @klass == other.klass end
ancestors()
click to toggle source
# File lib/ClassNode.rb, line 16 def ancestors class_nodes = [] if @klass @klass.ancestors[1..-1].each do |c| if c.class == Class class_node = ClassNode.new c class_nodes.insert 0, class_node end end end class_nodes end
descendants()
click to toggle source
# File lib/ClassNode.rb, line 29 def descendants class_nodes = [] if @klass klasses = ObjectSpace.each_object(Class).select do |c| c.superclass == @klass end klasses.reject! { |c| c.name == nil } klasses.sort_by do |c| c.name end klasses.each do |c| class_node = ClassNode.new c class_nodes << class_node end end class_nodes end
name()
click to toggle source
# File lib/ClassNode.rb, line 8 def name if @klass @klass.name else "*Unknown class*" end end