aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/commands
diff options
context:
space:
mode:
authorschneems <richard.schneeman@gmail.com>2012-03-22 13:13:12 -0400
committerschneems <richard.schneeman@gmail.com>2012-03-22 13:13:12 -0400
commit7529283732bb56ba1b0125aabab774d01b4057c7 (patch)
treef76adacf439a57fbc8f779f9571e87cfd031a55c /railties/lib/rails/commands
parent0a555dd421f3b7966df1a1f70ae462a143734d21 (diff)
downloadrails-7529283732bb56ba1b0125aabab774d01b4057c7.tar.gz
rails-7529283732bb56ba1b0125aabab774d01b4057c7.tar.bz2
rails-7529283732bb56ba1b0125aabab774d01b4057c7.zip
match rails console environment support, to server
rails server takes `-e` as an argument to specify RAILS_ENV, rails console currently does not have the same interface. This commit fixes this disparity so developers can manually specify `RAILS_ENV` or can pass in an environment with a `-e`.
Diffstat (limited to 'railties/lib/rails/commands')
-rw-r--r--railties/lib/rails/commands/console.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/railties/lib/rails/commands/console.rb b/railties/lib/rails/commands/console.rb
index 86376ac7e6..d7c9e820dc 100644
--- a/railties/lib/rails/commands/console.rb
+++ b/railties/lib/rails/commands/console.rb
@@ -24,6 +24,9 @@ module Rails
OptionParser.new do |opt|
opt.banner = "Usage: console [environment] [options]"
opt.on('-s', '--sandbox', 'Rollback database modifications on exit.') { |v| options[:sandbox] = v }
+ opt.on("-e", "--environment=name", String,
+ "Specifies the environment to run this console under (test/development/production).",
+ "Default: development") { |v| options[:environment] = v.strip }
opt.on("--debugger", 'Enable ruby-debugging for the console.') { |v| options[:debugger] = v }
opt.parse!(arguments)
end
@@ -36,6 +39,14 @@ module Rails
options[:sandbox]
end
+ def environment?
+ options[:environment]
+ end
+
+ def set_environment!
+ Rails.env = options[:environment]
+ end
+
def debugger?
options[:debugger]
end
@@ -45,6 +56,8 @@ module Rails
require_debugger if debugger?
+ set_environment! if environment?
+
if sandbox?
puts "Loading #{Rails.env} environment in sandbox (Rails #{Rails.version})"
puts "Any modifications you make will be rolled back on exit"