diff options
author | Carlhuda <carlhuda@Carlhudas-iMac.local> | 2009-11-24 13:03:24 -0800 |
---|---|---|
committer | Carlhuda <carlhuda@Carlhudas-iMac.local> | 2009-11-24 14:36:30 -0800 |
commit | 530b8ff5ae811e0dd5e1343b478f42eed6fffdbd (patch) | |
tree | bbff1bbfbf0c889a78ce6badf93aab0d1f6b2ed1 /railties/lib/rails/commands | |
parent | a2cb90c0c246e772e9735ff59f5517e3dee313ff (diff) | |
download | rails-530b8ff5ae811e0dd5e1343b478f42eed6fffdbd.tar.gz rails-530b8ff5ae811e0dd5e1343b478f42eed6fffdbd.tar.bz2 rails-530b8ff5ae811e0dd5e1343b478f42eed6fffdbd.zip |
Have script/* and Rakefile use the application object
Diffstat (limited to 'railties/lib/rails/commands')
-rw-r--r-- | railties/lib/rails/commands/console.rb | 10 | ||||
-rw-r--r-- | railties/lib/rails/commands/dbconsole.rb | 10 | ||||
-rw-r--r-- | railties/lib/rails/commands/server.rb | 19 |
3 files changed, 30 insertions, 9 deletions
diff --git a/railties/lib/rails/commands/console.rb b/railties/lib/rails/commands/console.rb index 8807307271..37eb6d40ea 100644 --- a/railties/lib/rails/commands/console.rb +++ b/railties/lib/rails/commands/console.rb @@ -6,8 +6,12 @@ module Rails class Console ENVIRONMENTS = %w(production development test) - def self.start - new.start + def self.start(app) + new(app).start + end + + def initialize(app) + @app = app end def start @@ -25,7 +29,7 @@ module Rails ENV['RAILS_ENV'] = ENVIRONMENTS.find { |e| e.index(env) } || env end - require "#{Rails.root}/config/environment" + @app.initialize! require "rails/console_app" require "rails/console_sandbox" if options[:sandbox] require "rails/console_with_helpers" diff --git a/railties/lib/rails/commands/dbconsole.rb b/railties/lib/rails/commands/dbconsole.rb index 064373f8f9..77c3404343 100644 --- a/railties/lib/rails/commands/dbconsole.rb +++ b/railties/lib/rails/commands/dbconsole.rb @@ -4,8 +4,12 @@ require 'optparse' module Rails class DBConsole - def self.start - new.start + def self.start(app) + new(app).start + end + + def initialize(app) + @app = app end def start @@ -31,7 +35,7 @@ module Rails end env = ARGV.first || ENV['RAILS_ENV'] || 'development' - unless config = YAML::load(ERB.new(IO.read("#{Rails.root}/config/database.yml")).result)[env] + unless config = YAML::load(ERB.new(IO.read("#{@app.root}/config/database.yml")).result)[env] abort "No database is configured for the environment '#{env}'" end diff --git a/railties/lib/rails/commands/server.rb b/railties/lib/rails/commands/server.rb index ff2282a534..57b7c6a49c 100644 --- a/railties/lib/rails/commands/server.rb +++ b/railties/lib/rails/commands/server.rb @@ -37,6 +37,15 @@ module Rails Options.new end + def self.start(app) + new(app).start + end + + def initialize(app) + super() # Call Rack::Server#initialize without passing any options to use. + @app = app + end + def start puts "=> Booting #{ActiveSupport::Inflector.demodulize(server)}" puts "=> Rails #{Rails.version} application starting on http://#{options[:Host]}:#{options[:Port]}" @@ -54,20 +63,24 @@ module Rails def middleware middlewares = [] - middlewares << [Rails::Rack::LogTailer] unless options[:daemonize] + middlewares << [Rails::Rack::LogTailer, log_path] unless options[:daemonize] middlewares << [Rails::Rack::Debugger] if options[:debugger] Hash.new(middlewares) end + def log_path + "#{File.expand_path(@app.root)}/log/#{options[:environment]}.log" + end + def default_options { :Port => 3000, :Host => "0.0.0.0", :environment => (ENV['RAILS_ENV'] || "development").dup, - :rack_file => "#{Rails.root}/config.ru", + :rack_file => "#{@app.root}/config.ru", :daemonize => false, :debugger => false, - :pid => "#{Rails.root}/tmp/pids/server.pid", + :pid => "#{@app.root}/tmp/pids/server.pid", :AccessLog => [] } end |