$:.unshift '../lib' $:.unshift './lib' require 'dynaload' dirname, basename = File::dirname(__FILE__), File::basename(__FILE__) loaded = Dynaload::dynaload(File::join(dirname, 'loaded.rb'), 'wrap' => false) # # examine loaded modules and their constants # puts '---' loaded.modules.each do |m, attributes| puts "#{ m } :" puts " constants :" m.constants.each do |const| value = m.const_get const next if Class === value or Module === value puts " #{ const } : #{ value }" end end puts # # find loaded classes that are runnable and run them # runnables = loaded.classes.select{|c, attributes| attributes['runnable']} puts '---' runnables.each do |c, attributes| puts "#{ c } :" puts " run : #{ c::new.run }" end puts