1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Detect rbenv and update the shebang

This commit is contained in:
Yehuda Katz 2012-12-22 11:13:10 -08:00
parent f34c27a452
commit 7173c4f931
2 changed files with 18 additions and 1 deletions

View file

@ -261,7 +261,14 @@ module Rails
end
def run_bundle
bundle_command('install --binstubs') unless options[:skip_gemfile] || options[:skip_bundle] || options[:pretend]
command = "install --binstubs"
command << " --shebang ruby-local-exec" if detect_ruby_local_exec
bundle_command(command) unless options[:skip_gemfile] || options[:skip_bundle] || options[:pretend]
end
def detect_ruby_local_exec
ENV["PATH"].split(":").find { |path| File.file?(File.join(path, "ruby-local-exec")) }
end
def empty_directory_with_keep_file(destination, config = {})

View file

@ -31,6 +31,16 @@ module SharedGeneratorTests
quietly { generator.invoke_all }
end
def test_generation_runs_bundle_install_with_shebang_if_needed
original_path = ENV["PATH"]
ENV["PATH"] = ENV["PATH"] + ":" + File.expand_path("../../fixtures/path", __FILE__)
generator([destination_root]).expects(:bundle_command).with('install --binstubs --shebang ruby-local-exec').once
quietly { generator.invoke_all }
ensure
ENV["PATH"] = original_path
end
def test_plugin_new_generate_pretend
run_generator ["testapp", "--pretend"]
default_files.each{ |path| assert_no_file File.join("testapp",path) }