summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Peckins <speckins@illinois.edu>2020-09-02 22:30:55 -0500
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2020-09-28 14:54:22 +0900
commit8863bfb1f46ae3bdef52d7f9d72534df0ae8617a (patch)
treebfd15592ceb3449cbb6f29f4a8ddc08490ff4495
parent18c642da869876da1100d046e8ac6556c3638e91 (diff)
[rubygems/rubygems] Move comment below shebang in bin/console template
In an executable script, the shebang line should be the first line (the file needs to start with the bytes 0x23 0x21). Putting a comment above it will break the script. (Regression test included per @deivid-rodriguez) https://github.com/rubygems/rubygems/commit/962e669feb
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3599
-rw-r--r--lib/bundler/templates/newgem/bin/console.tt3
-rw-r--r--spec/bundler/commands/newgem_spec.rb2
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/bundler/templates/newgem/bin/console.tt b/lib/bundler/templates/newgem/bin/console.tt
index 6378a5abce..08dfaaef69 100644
--- a/lib/bundler/templates/newgem/bin/console.tt
+++ b/lib/bundler/templates/newgem/bin/console.tt
@@ -1,6 +1,5 @@
-# frozen_string_literal: true
-
#!/usr/bin/env ruby
+# frozen_string_literal: true
require "bundler/setup"
require "<%= config[:namespaced_path] %>"
diff --git a/spec/bundler/commands/newgem_spec.rb b/spec/bundler/commands/newgem_spec.rb
index 7dca5f5188..70419f612d 100644
--- a/spec/bundler/commands/newgem_spec.rb
+++ b/spec/bundler/commands/newgem_spec.rb
@@ -376,6 +376,8 @@ RSpec.describe "bundle gem" do
expect(bundled_app("#{gem_name}/bin/console")).to exist
expect(bundled_app("#{gem_name}/bin/setup")).to be_executable
expect(bundled_app("#{gem_name}/bin/console")).to be_executable
+ expect(bundled_app("#{gem_name}/bin/setup").read).to start_with("#!")
+ expect(bundled_app("#{gem_name}/bin/console").read).to start_with("#!")
end
it "starts with version 0.1.0" do