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:
parent
f34c27a452
commit
7173c4f931
2 changed files with 18 additions and 1 deletions
|
@ -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 = {})
|
||||
|
|
|
@ -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) }
|
||||
|
|
Loading…
Reference in a new issue