Skip to content

Instantly share code, notes, and snippets.

@tadman
Created June 22, 2009 20:53
Show Gist options
  • Save tadman/134180 to your computer and use it in GitHub Desktop.
Save tadman/134180 to your computer and use it in GitHub Desktop.
def globals(root = Module)
root.constants.collect do |name|
object = eval(name) rescue nil
if (object === Module || object === Class)
name
elsif (object.is_a?(Module) || object.is_a?(Class))
globals(object).collect do |subname|
[ name, subname ].join('::')
end << name
else
name
end
end.flatten
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment