diff options
author | schneems <richard.schneeman@gmail.com> | 2012-03-22 13:13:12 -0400 |
---|---|---|
committer | schneems <richard.schneeman@gmail.com> | 2012-03-22 13:13:12 -0400 |
commit | 7529283732bb56ba1b0125aabab774d01b4057c7 (patch) | |
tree | f76adacf439a57fbc8f779f9571e87cfd031a55c /railties/lib/rails/commands | |
parent | 0a555dd421f3b7966df1a1f70ae462a143734d21 (diff) | |
download | rails-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.rb | 13 |
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" |