aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2008-06-14 16:24:23 -0500
committerJoshua Peek <josh@joshpeek.com>2008-07-21 13:43:23 -0500
commit3bd34b6ffe017dd81fd26743aab052fc4324eb0f (patch)
treeff0d88eb15f23989941044c8deddb4acb970e9dc /railties
parent0f43de644ea48c1ad11d4bc73307af066bb52870 (diff)
downloadrails-3bd34b6ffe017dd81fd26743aab052fc4324eb0f.tar.gz
rails-3bd34b6ffe017dd81fd26743aab052fc4324eb0f.tar.bz2
rails-3bd34b6ffe017dd81fd26743aab052fc4324eb0f.zip
Preload application classes. Uses same strategy as phusion passenger.
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/initializer.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/railties/lib/initializer.rb b/railties/lib/initializer.rb
index b8b071d4c9..3be95de8d3 100644
--- a/railties/lib/initializer.rb
+++ b/railties/lib/initializer.rb
@@ -168,6 +168,9 @@ module Rails
# Observers are loaded after plugins in case Observers or observed models are modified by plugins.
load_observers
+ # load application classes
+ load_application_classes
+
# Flag initialized
Rails.initialized = true
end
@@ -330,6 +333,14 @@ Run `rake gems:install` to install the missing gems.
end
end
+ def load_application_classes
+ require_dependency 'application'
+
+ Dir.glob('app/{models,controllers,helpers}/*.rb').each do |file|
+ require_dependency file
+ end
+ end
+
# For Ruby 1.8, this initialization sets $KCODE to 'u' to enable the
# multibyte safe operations. Plugin authors supporting other encodings
# should override this behaviour and set the relevant +default_charset+