diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-03-23 10:36:16 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-03-23 10:36:16 -0700 |
commit | e944b296a90825c8aaee23a324db6e34521c7e74 (patch) | |
tree | 16ab1836a6c0ab5e500e85d6a668c6808601e67f /railties/lib | |
parent | 86cd1b1d4669a383881aec746cda425d515f16ac (diff) | |
parent | 7529283732bb56ba1b0125aabab774d01b4057c7 (diff) | |
download | rails-e944b296a90825c8aaee23a324db6e34521c7e74.tar.gz rails-e944b296a90825c8aaee23a324db6e34521c7e74.tar.bz2 rails-e944b296a90825c8aaee23a324db6e34521c7e74.zip |
Merge pull request #5550 from schneems/schneems/server_env
Fix environment support for rails server, and match interface of rails console
Diffstat (limited to 'railties/lib')
-rw-r--r-- | railties/lib/rails/commands/console.rb | 13 | ||||
-rw-r--r-- | railties/lib/rails/commands/server.rb | 5 |
2 files changed, 18 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" diff --git a/railties/lib/rails/commands/server.rb b/railties/lib/rails/commands/server.rb index a608693ca4..721a47a974 100644 --- a/railties/lib/rails/commands/server.rb +++ b/railties/lib/rails/commands/server.rb @@ -32,6 +32,11 @@ module Rails opt_parser.parse! args + # Handle's environment like RAILS_ENV=production passed in directly + if index = args.index {|arg| arg.include?("RAILS_ENV")} + options[:environment] ||= args.delete_at(index).split('=').last + end + options[:server] = args.shift options end |