aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/commands/runner
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2017-08-01 17:34:14 -0400
committerRafael Mendonça França <rafaelmfranca@gmail.com>2017-08-01 17:34:14 -0400
commitfeb1ddae021c38174f9c22bbd1298c8b73431b45 (patch)
tree09a38695596cf80dc362dd4d93cf94d6f7415e7b /railties/lib/rails/commands/runner
parent3540e60c385286f3517ff56270b31a91ed3024a3 (diff)
parentf9a43f28c087f8ffd35ff7c33a60c938b60f2be2 (diff)
downloadrails-feb1ddae021c38174f9c22bbd1298c8b73431b45.tar.gz
rails-feb1ddae021c38174f9c22bbd1298c8b73431b45.tar.bz2
rails-feb1ddae021c38174f9c22bbd1298c8b73431b45.zip
Merge remote-tracking branch 'origin/master' into unlock-minitest
Diffstat (limited to 'railties/lib/rails/commands/runner')
-rw-r--r--railties/lib/rails/commands/runner/USAGE3
-rw-r--r--railties/lib/rails/commands/runner/runner_command.rb6
2 files changed, 7 insertions, 2 deletions
diff --git a/railties/lib/rails/commands/runner/USAGE b/railties/lib/rails/commands/runner/USAGE
index b2a6e8493d..24b60037f0 100644
--- a/railties/lib/rails/commands/runner/USAGE
+++ b/railties/lib/rails/commands/runner/USAGE
@@ -8,6 +8,9 @@ Run the Ruby file located at `path/to/filename.rb` after loading the app:
<%= executable %> path/to/filename.rb
+Run the Ruby script read from stdin after loading the app:
+ <%= executable %> -
+
<% unless Gem.win_platform? %>
You can also use the runner command as a shebang line for your executables:
diff --git a/railties/lib/rails/commands/runner/runner_command.rb b/railties/lib/rails/commands/runner/runner_command.rb
index 6864a9726b..c931fc2152 100644
--- a/railties/lib/rails/commands/runner/runner_command.rb
+++ b/railties/lib/rails/commands/runner/runner_command.rb
@@ -13,7 +13,7 @@ module Rails
end
def self.banner(*)
- "#{super} [<'Some.ruby(code)'> | <filename.rb>]"
+ "#{super} [<'Some.ruby(code)'> | <filename.rb> | -]"
end
def perform(code_or_file = nil, *command_argv)
@@ -29,7 +29,9 @@ module Rails
ARGV.replace(command_argv)
- if File.exist?(code_or_file)
+ if code_or_file == "-"
+ eval($stdin.read, binding, "stdin")
+ elsif File.exist?(code_or_file)
$0 = code_or_file
Kernel.load code_or_file
else