class Pry

Public Instance Methods

children_of(klass) click to toggle source
# File lib/pry-hier.rb, line 36
def children_of(klass)
  @classes.select { |obj| obj.superclass == klass }
end
colour_name(klass) click to toggle source
# File lib/pry-hier.rb, line 40
def colour_name(klass)
  Pry.config.color ? colorize_code(klass) : klass.inspect
end
hash_for(klass) click to toggle source
# File lib/pry-hier.rb, line 29
def hash_for(klass)
  children = children_of(klass).map(&method(:hash_for))
  colour_name(klass).yield_self do |name|
    children.empty? ? name : { name => children }
  end
end
options(opt) click to toggle source
# File lib/pry-hier.rb, line 14
def options(opt)
  opt.on :s, :include_singletons, 'Include singleton classes'
end
print_tree_for(klass) click to toggle source
process() click to toggle source
# File lib/pry-hier.rb, line 8
def process
  klass = WrappedModule.from_str(args[0])
  raise CommandError, 'class or module name required' unless klass
  print_tree_for(klass.wrapped)
end
set_class_list(klass) click to toggle source
# File lib/pry-hier.rb, line 44
def set_class_list(klass)
  @classes = ObjectSpace.each_object.select do |obj|
    obj.is_a?(Class) &&
      (opts.include_singletons? || ! obj.singleton_class?)
  end
end