def load(needs = {})
sdir = File.join(Gem.dir, "specifications")
gems = Gem::SourceIndex.from_installed_gems(sdir)
needs = needs.merge({"gem_plugin" => INCLUDE})
gems.each do |path, gem|
next if @gems.has_key? gem.name
check = needs.dup
gem.dependencies.each do |dep|
if check.has_key? dep.name
check[dep.name] = !check[dep.name]
end
end
if (check.select {|name,test| !test}).length == 0
gem_dir = File.join(Gem.dir, "gems", path)
require File.join(gem_dir, "lib", gem.name, "init.rb")
@gems[gem.name] = gem_dir
end
end
return nil
end