Module: ClassLister

Defined in:
lib/class_lister.rb,
lib/class_lister/version.rb

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.list(mod, filter = true) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/class_lister.rb', line 5

def list(mod, filter = true)
  return [] unless mod.respond_to?(:constants)

  mod.constants.inject([]) do |collection, name|
    const = mod.const_get name
    collection << const
    collection += list const, false
  end.tap { |c| c.select! { |c| c.is_a? Class } if filter }
end