Created
August 12, 2011 10:28
-
-
Save allomov/1141828 to your computer and use it in GitHub Desktop.
overview of rails 2.3.12 initialization
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Rails | |
class Initializer | |
# Sequentially step through all of the available initialization routines, | |
# in order (view execution order in source). | |
def process | |
Rails.configuration = configuration | |
check_ruby_version | |
install_gem_spec_stubs | |
set_load_path | |
add_gem_load_paths | |
require_frameworks | |
set_autoload_paths | |
add_plugin_load_paths | |
load_environment | |
preload_frameworks | |
initialize_encoding | |
initialize_database | |
initialize_cache | |
initialize_framework_caches | |
initialize_logger | |
initialize_framework_logging | |
initialize_dependency_mechanism | |
initialize_whiny_nils | |
initialize_time_zone | |
initialize_i18n | |
initialize_framework_settings | |
initialize_framework_views | |
initialize_metal | |
add_support_load_paths | |
check_for_unbuilt_gems | |
load_gems | |
load_plugins | |
# pick up any gems that plugins depend on | |
add_gem_load_paths | |
load_gems | |
check_gem_dependencies | |
# bail out if gems are missing - note that check_gem_dependencies will have | |
# already called abort() unless $gems_rake_task is set | |
return unless gems_dependencies_loaded | |
load_application_initializers | |
# the framework is now fully initialized | |
after_initialize | |
# Setup database middleware after initializers have run | |
initialize_database_middleware | |
# Prepare dispatcher callbacks and run 'prepare' callbacks | |
prepare_dispatcher | |
# Routing must be initialized after plugins to allow the former to extend the routes | |
initialize_routing | |
# Observers are loaded after plugins in case Observers or observed models are modified by plugins. | |
load_observers | |
# Load view path cache | |
load_view_paths | |
# Load application classes | |
load_application_classes | |
# Disable dependency loading during request cycle | |
disable_dependency_loading | |
# Flag initialized | |
Rails.initialized = true | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment