I know you can do
bundle show gem_name
to show the path of some gem.
How do you do that from within the code using the Bundler object?<
Update: starting with Bundler v1.3.0, there is a public interface for obtaining a Gem's path:
Bundler.rubygems.find_name('json').first.full_gem_path
# => "/opt/src/foo/my_app/vendor/bundle/ruby/2.0.0/gems/json-1.8.0"
Pre-v1.3.0, you may want to use the original solution shared (a private interface):
Better yet, you can use
Bundler::CLI#locate_gem
directly:require "bundler/cli" Bundler::CLI.new.send(:locate_gem, "json") # => "/opt/src/foo/my_app/vendor/bundle/ruby/1.9.1/gems/json-1.7.3"