module Bundler::Symlink
Constants
- VERSION
Public Class Methods
call()
click to toggle source
# File lib/bundler/symlink.rb, line 8 def self.call root_path = File.dirname(Bundler.default_gemfile) target_dir = File.join( root_path, '.bundle', 'gems' ) Dir.mktmpdir do |tmpdir| link_dir = File.join(tmpdir, 'gems') FileUtils.mkdir(link_dir) Bundler .load .specs .map(&:full_gem_path) .reject {|path| path.start_with?(root_path)} .each do |gem_path| target = File.join( link_dir, File.basename(gem_path) ) FileUtils.ln_s( gem_path, target ) end FileUtils.mkdir_p(File.dirname(target_dir)) Bundler.ui.info("Symlinking bundled gems into #{target_dir}") FileUtils.rm_r(target_dir) if File.exist?(target_dir) FileUtils.mv(link_dir, target_dir, force: true) end end