aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/engine.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails/engine.rb')
-rw-r--r--railties/lib/rails/engine.rb48
1 files changed, 18 insertions, 30 deletions
diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb
index effbfee6c1..93f39f176c 100644
--- a/railties/lib/rails/engine.rb
+++ b/railties/lib/rails/engine.rb
@@ -4,7 +4,6 @@ module Rails
# TODO Move I18n here
# TODO Set routes namespaces
class Engine < Railtie
-
class << self
attr_accessor :called_from
@@ -49,8 +48,8 @@ module Rails
delegate :middleware, :root, :to => :config
# Add configured load paths to ruby load paths and remove duplicates.
- initializer :set_load_path, :before => :container do
- expand_load_path(config.load_paths).reverse_each do |path|
+ initializer :set_load_path do
+ config.load_paths.reverse_each do |path|
$LOAD_PATH.unshift(path) if File.directory?(path)
end
$LOAD_PATH.uniq!
@@ -58,11 +57,9 @@ module Rails
# Set the paths from which Rails will automatically load source files,
# and the load_once paths.
- initializer :set_autoload_paths, :before => :container do
- require 'active_support/dependencies'
-
- ActiveSupport::Dependencies.load_paths = expand_load_path(config.load_paths)
- ActiveSupport::Dependencies.load_once_paths = expand_load_path(config.load_once_paths)
+ initializer :set_autoload_paths do
+ ActiveSupport::Dependencies.load_paths.concat(config.load_paths)
+ ActiveSupport::Dependencies.load_once_paths.concat(config.load_once_paths)
extra = ActiveSupport::Dependencies.load_once_paths -
ActiveSupport::Dependencies.load_paths
@@ -74,31 +71,32 @@ module Rails
end_error
end
- # Freeze the arrays so future modifications will fail rather than do nothing mysteriously
+ # Freeze so future modifications will fail rather than do nothing mysteriously
config.load_once_paths.freeze
end
- # Routing must be initialized after plugins to allow the former to extend the routes
initializer :add_routing_files do |app|
- routes = select_existing(config.paths.config.routes)
- app.route_configuration_files.concat(routes)
+ config.paths.config.routes.to_a.each do |route|
+ app.route_configuration_files << route if File.exists?(route)
+ end
+ end
+
+ initializer :add_locales do
+ config.i18n.load_path.concat(config.paths.config.locales.to_a)
end
initializer :add_view_paths do
- views = select_existing(config.paths.app.views)
- ActionController::Base.view_paths.concat(views) if defined? ActionController
- ActionMailer::Base.view_paths.concat(views) if defined? ActionMailer
+ views = config.paths.app.views.to_a
+ ActionController::Base.view_paths.concat(views) if defined?(ActionController)
+ ActionMailer::Base.view_paths.concat(views) if defined?(ActionMailer)
end
initializer :load_application_initializers do
- select_existing(config.paths.config.initializers).each do |initializers|
- Dir["#{initializers}/**/*.rb"].sort.each do |initializer|
- load(initializer)
- end
+ config.paths.config.initializers.each do |initializer|
+ load(initializer)
end
end
- # Eager load application classes
initializer :load_application_classes do |app|
next if $rails_rake_task
@@ -111,15 +109,5 @@ module Rails
end
end
end
-
- private
-
- def select_existing(paths)
- paths.to_a.select { |path| File.exists?(path) }.uniq
- end
-
- def expand_load_path(load_paths)
- load_paths.map { |path| Dir.glob(path.to_s) }.flatten.uniq
- end
end
end \ No newline at end of file