# File lib/dragonfly.rb, line 15 def autoload_files_in_dir(path, namespace) # Define the module eval("module #{namespace}; end") # Autoload modules/classes in that module Dir.glob("#{path}/*.rb").each do |file| file = File.expand_path(file) sub_const_name = camelize( File.basename(file, '.rb') ) eval("#{namespace}.autoload('#{sub_const_name}', '#{file}')") end # Recurse on subdirectories Dir.glob("#{path}/*/").each do |dir| sub_namespace = camelize( File.basename(dir) ) autoload_files_in_dir(dir, "#{namespace}::#{sub_namespace}") end end