aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/application.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-06-20 13:37:58 +0200
committerJosé Valim <jose.valim@gmail.com>2010-06-20 13:37:58 +0200
commit772c2b0b862850c29e7f112a5ddeaf1c0ed06408 (patch)
treec8fe77055ed15aa6596b6f9073f2b69d901b59aa /railties/lib/rails/application.rb
parent71703c98ba2bf65a6fed94917b039827cb63bace (diff)
downloadrails-772c2b0b862850c29e7f112a5ddeaf1c0ed06408.tar.gz
rails-772c2b0b862850c29e7f112a5ddeaf1c0ed06408.tar.bz2
rails-772c2b0b862850c29e7f112a5ddeaf1c0ed06408.zip
Use the new ActiveSupport::FileUpdateChecker instead of RoutesReloader.
Diffstat (limited to 'railties/lib/rails/application.rb')
-rw-r--r--railties/lib/rails/application.rb13
1 files changed, 10 insertions, 3 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb
index b410639272..8b8ef20b1f 100644
--- a/railties/lib/rails/application.rb
+++ b/railties/lib/rails/application.rb
@@ -1,4 +1,5 @@
require 'active_support/core_ext/hash/reverse_merge'
+require 'active_support/file_update_checker'
require 'fileutils'
require 'rails/plugin'
require 'rails/engine'
@@ -46,7 +47,6 @@ module Rails
autoload :Configuration, 'rails/application/configuration'
autoload :Finisher, 'rails/application/finisher'
autoload :Railties, 'rails/application/railties'
- autoload :RoutesReloader, 'rails/application/routes_reloader'
class << self
private :new
@@ -121,11 +121,18 @@ module Rails
end
def routes_reloader
- @routes_reloader ||= RoutesReloader.new
+ @routes_reloader ||= ActiveSupport::FileUpdateChecker.new([]){ reload_routes! }
end
def reload_routes!
- routes_reloader.reload!
+ routes = Rails::Application.routes
+ routes.disable_clear_and_finalize = true
+
+ routes.clear!
+ routes_reloader.paths.each { |path| load(path) }
+ ActiveSupport.on_load(:action_controller) { routes.finalize! }
+ ensure
+ routes.disable_clear_and_finalize = false
end
def initialize!