diff options
| author | Mikel Lindsaar <raasdnil@gmail.com> | 2010-01-17 12:46:51 +1100 | 
|---|---|---|
| committer | Mikel Lindsaar <raasdnil@gmail.com> | 2010-01-17 12:46:51 +1100 | 
| commit | 6f663addaa7ed40f1133687d7a2be0958bf0c059 (patch) | |
| tree | 7beb7f092c1979d1fd5ea6e7aaaf4f59c2f4abf4 /railties/lib/rails/commands | |
| parent | 8834b2612b7ddda70ee6a685eb0063d3daa8e63d (diff) | |
| parent | 3e94032227d450d479f511070c51f37f53d0ecc4 (diff) | |
| download | rails-6f663addaa7ed40f1133687d7a2be0958bf0c059.tar.gz rails-6f663addaa7ed40f1133687d7a2be0958bf0c059.tar.bz2 rails-6f663addaa7ed40f1133687d7a2be0958bf0c059.zip | |
Merge branch 'master' of github.com:lifo/docrails
Diffstat (limited to 'railties/lib/rails/commands')
| -rw-r--r-- | railties/lib/rails/commands/console.rb | 11 | ||||
| -rw-r--r-- | railties/lib/rails/commands/dbconsole.rb | 10 | ||||
| -rw-r--r-- | railties/lib/rails/commands/destroy.rb | 2 | ||||
| -rwxr-xr-x | railties/lib/rails/commands/generate.rb | 2 | ||||
| -rw-r--r-- | railties/lib/rails/commands/runner.rb | 1 | ||||
| -rw-r--r-- | railties/lib/rails/commands/server.rb | 18 | 
6 files changed, 27 insertions, 17 deletions
| diff --git a/railties/lib/rails/commands/console.rb b/railties/lib/rails/commands/console.rb index 37eb6d40ea..27ac7fd20a 100644 --- a/railties/lib/rails/commands/console.rb +++ b/railties/lib/rails/commands/console.rb @@ -4,8 +4,6 @@ require "irb/completion"  module Rails    class Console -    ENVIRONMENTS = %w(production development test) -      def self.start(app)        new(app).start      end @@ -25,10 +23,6 @@ module Rails          opt.parse!(ARGV)        end -      if env = ARGV.first -        ENV['RAILS_ENV'] = ENVIRONMENTS.find { |e| e.index(env) } || env -      end -        @app.initialize!        require "rails/console_app"        require "rails/console_sandbox" if options[:sandbox] @@ -54,3 +48,8 @@ module Rails      end    end  end + +# Has to set the RAILS_ENV before config/application is required +if ARGV.first && !ARGV.first.index("-") && env = ARGV.pop # has to pop the env ARGV so IRB doesn't freak +  ENV['RAILS_ENV'] = %w(production development test).find { |e| e.index(env) } || env +end diff --git a/railties/lib/rails/commands/dbconsole.rb b/railties/lib/rails/commands/dbconsole.rb index 77c3404343..593e2d8ee3 100644 --- a/railties/lib/rails/commands/dbconsole.rb +++ b/railties/lib/rails/commands/dbconsole.rb @@ -34,9 +34,8 @@ module Rails          abort opt.to_s unless (0..1).include?(ARGV.size)        end -      env = ARGV.first || ENV['RAILS_ENV'] || 'development' -      unless config = YAML::load(ERB.new(IO.read("#{@app.root}/config/database.yml")).result)[env] -        abort "No database is configured for the environment '#{env}'" +      unless config = YAML::load(ERB.new(IO.read("#{@app.root}/config/database.yml")).result)[Rails.env] +        abort "No database is configured for the environment '#{Rails.env}'"        end @@ -97,4 +96,9 @@ module Rails        end      end    end +end + +# Has to set the RAILS_ENV before config/application is required +if ARGV.first && !ARGV.first.index("-") && env = ARGV.first +  ENV['RAILS_ENV'] = %w(production development test).find { |e| e.index(env) } || env  end
\ No newline at end of file diff --git a/railties/lib/rails/commands/destroy.rb b/railties/lib/rails/commands/destroy.rb index f85c17bb94..a2eff377ce 100644 --- a/railties/lib/rails/commands/destroy.rb +++ b/railties/lib/rails/commands/destroy.rb @@ -7,4 +7,4 @@ if ARGV.size == 0  end  name = ARGV.shift -Rails::Generators.invoke name, ARGV, :behavior => :revoke +Rails::Generators.invoke name, ARGV, :behavior => :revoke, :destination_root => Rails.root diff --git a/railties/lib/rails/commands/generate.rb b/railties/lib/rails/commands/generate.rb index c5e3ae3529..c1120aad74 100755 --- a/railties/lib/rails/commands/generate.rb +++ b/railties/lib/rails/commands/generate.rb @@ -7,4 +7,4 @@ if ARGV.size == 0  end  name = ARGV.shift -Rails::Generators.invoke name, ARGV, :behavior => :invoke +Rails::Generators.invoke name, ARGV, :behavior => :invoke, :destination_root => Rails.root diff --git a/railties/lib/rails/commands/runner.rb b/railties/lib/rails/commands/runner.rb index 0246348c77..4487d2e7b1 100644 --- a/railties/lib/rails/commands/runner.rb +++ b/railties/lib/rails/commands/runner.rb @@ -34,7 +34,6 @@ end  ARGV.delete(code_or_file)  ENV["RAILS_ENV"] = options[:environment] -RAILS_ENV.replace(options[:environment]) if defined?(RAILS_ENV)  begin    if code_or_file.nil? diff --git a/railties/lib/rails/commands/server.rb b/railties/lib/rails/commands/server.rb index 09d7207d51..115499db05 100644 --- a/railties/lib/rails/commands/server.rb +++ b/railties/lib/rails/commands/server.rb @@ -38,15 +38,15 @@ module Rails      end      def start +      ENV["RAILS_ENV"] = options[:environment] +        puts "=> Booting #{ActiveSupport::Inflector.demodulize(server)}" -      puts "=> Rails #{Rails.version} application starting on http://#{options[:Host]}:#{options[:Port]}" +      puts "=> Rails #{Rails.version} application starting in #{Rails.env} on http://#{options[:Host]}:#{options[:Port]}"        puts "=> Call with -d to detach" unless options[:daemonize]        trap(:INT) { exit }        puts "=> Ctrl-C to shutdown server" unless options[:daemonize] -      ENV["RAILS_ENV"] = options[:environment] -      RAILS_ENV.replace(options[:environment]) if defined?(RAILS_ENV) - +      initialize_log_tailer! unless options[:daemonize]        super      ensure        puts 'Exiting' unless options[:daemonize] @@ -54,7 +54,6 @@ module Rails      def middleware        middlewares = [] -      middlewares << [Rails::Rack::LogTailer, log_path] unless options[:daemonize]        middlewares << [Rails::Rack::Debugger]  if options[:debugger]        Hash.new(middlewares)      end @@ -72,5 +71,14 @@ module Rails          :pid         => "tmp/pids/server.pid"        })      end + +  protected + +    # LogTailer should not be used as a middleware since the logging happens +    # async in a request and the middleware calls are sync. So we send it +    # to subscriber which will be responsible for calling tail! in the log tailer. +    def initialize_log_tailer! +      Rails::Subscriber.log_tailer = Rails::Rack::LogTailer.new(nil, log_path) +    end    end  end | 
