From 95d251ab40d7f7f35d636c7a87b63d028c8ff009 Mon Sep 17 00:00:00 2001 From: Nathan Broadbent Date: Sat, 13 Jul 2013 17:31:48 +1200 Subject: [PATCH] Allow `require: true` as an alias for `require: ` --- lib/bundler/runtime.rb | 2 ++ spec/runtime/require_spec.rb | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/lib/bundler/runtime.rb b/lib/bundler/runtime.rb index 9dd6a5f4f09..e24540a8d07 100644 --- a/lib/bundler/runtime.rb +++ b/lib/bundler/runtime.rb @@ -68,6 +68,8 @@ def require(*groups) # dependency. If there are none, use the dependency's name # as the autorequire. Array(dep.autorequire || dep.name).each do |file| + # Allow `require: true` as an alias for `require: ` + file = dep.name if file == true required_file = file Kernel.require file end diff --git a/spec/runtime/require_spec.rb b/spec/runtime/require_spec.rb index db72ff70f02..e1c93897a52 100644 --- a/spec/runtime/require_spec.rb +++ b/spec/runtime/require_spec.rb @@ -33,6 +33,10 @@ s.write "lib/seven.rb", "puts 'seven'" end + build_lib "eight", "1.0.0" do |s| + s.write "lib/eight.rb", "puts 'eight'" + end + gemfile <<-G path "#{lib_path}" gem "one", :group => :bar, :require => %w(baz qux) @@ -42,6 +46,7 @@ gem "five" gem "six", :group => "string" gem "seven", :group => :not + gem "eight", :require => true, :group => :require_true G end @@ -69,6 +74,10 @@ # required in resolver order instead of gemfile order run("Bundler.require(:not)") expect(out.split("\n").sort).to eq(['seven', 'three']) + + # test require: true + run "Bundler.require(:require_true)" + expect(out).to eq("eight") end it "allows requiring gems with non standard names explicitly" do