diff --git a/railties/lib/rails_generator/commands.rb b/railties/lib/rails_generator/commands.rb index bd5754b72de75..93d22ddef4359 100644 --- a/railties/lib/rails_generator/commands.rb +++ b/railties/lib/rails_generator/commands.rb @@ -220,12 +220,11 @@ def file(relative_source, relative_destination, file_options = {}, &block) if block_given? df.write(yield(sf)) else - line = sf.gets || '' if file_options[:shebang] df.puts("#!#{file_options[:shebang]}") - df.puts(line) if line !~ /^#!/ - else - df.puts(line) + if line = sf.gets + df.puts(line) if line !~ /^#!/ + end end df.write(sf.read) end