diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-06-03 15:38:27 -0500 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-06-12 17:12:30 -0500 |
commit | 466d3a7344d02a7871e57038f74615181fcf77b7 (patch) | |
tree | d028322b1def3363b9e44294f8eaafbefb84e786 | |
parent | e32353b063292427beccdb48fd8d6d0c74555911 (diff) | |
download | bundler-466d3a7344d02a7871e57038f74615181fcf77b7.tar.gz |
[Env] Print shebang when it doesnt match Gem.ruby
-rw-r--r-- | lib/bundler/env.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/bundler/env.rb b/lib/bundler/env.rb index d78ee1f0c7..ec61b873cb 100644 --- a/lib/bundler/env.rb +++ b/lib/bundler/env.rb @@ -26,6 +26,14 @@ module Bundler specs = Bundler.rubygems.find_name(name) out << "#{name} (#{specs.map(&:version).join(",")})\n" unless specs.empty? end + if (exe = caller.last.split(":").first) && exe =~ %r{(exe|bin)/bundler?\z} + shebang = File.read(exe).lines.first + shebang.sub!(/^#!\s*/, "") + unless shebang.start_with?(Gem.ruby, "/usr/bin/env ruby") + out << "Gem.ruby #{Gem.ruby}\n" + out << "bundle #! #{shebang}\n" + end + end out << "```\n" |