def locate_gem(name)
spec = Bundler.load.specs.find{|s| s.name == name }
raise GemNotFound, "Could not find gem '#{name}' in the current bundle." unless spec
if spec.name == 'bundler'
return File.expand_path('../../../', __FILE__)
end
spec.full_gem_path
end
Ответ 2
Обновить: начиная с Bundler v1.3.0, существует открытый интерфейс для получения пути Gem:
К сожалению, это решение обеспечивает безымянный поиск, поскольку все драгоценные камни находятся в массиве вместо хэша, но если вы хотите, чтобы вы могли взломать GemPathSearcher, я думаю, что это было бы полезно в будущем.