mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Added configurable eager load paths. Defaults to app/models, app/controllers, and app/helpers
This commit is contained in:
parent
3bd34b6ffe
commit
89ec72c281
2 changed files with 23 additions and 4 deletions
|
@ -1,5 +1,7 @@
|
|||
*Edge*
|
||||
|
||||
* Added configurable eager load paths. Defaults to app/models, app/controllers, and app/helpers [Josh Peek]
|
||||
|
||||
* Introduce simple internationalization support. [Ruby i18n team]
|
||||
|
||||
* Make script/plugin install <plugin> -r <revision> option work with git based plugins. #257. [Tim Pope Jakub Kuźma]. Example:
|
||||
|
|
|
@ -333,13 +333,16 @@ Run `rake gems:install` to install the missing gems.
|
|||
end
|
||||
end
|
||||
|
||||
# Eager load application classes
|
||||
def load_application_classes
|
||||
require_dependency 'application'
|
||||
|
||||
Dir.glob('app/{models,controllers,helpers}/*.rb').each do |file|
|
||||
if configuration.cache_classes
|
||||
configuration.eager_load_paths.each do |load_path|
|
||||
Dir.glob("#{load_path}/*.rb").each do |file|
|
||||
require_dependency file
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# For Ruby 1.8, this initialization sets $KCODE to 'u' to enable the
|
||||
# multibyte safe operations. Plugin authors supporting other encodings
|
||||
|
@ -578,6 +581,11 @@ Run `rake gems:install` to install the missing gems.
|
|||
# All elements of this array must also be in +load_paths+.
|
||||
attr_accessor :load_once_paths
|
||||
|
||||
# An array of paths from which Rails will eager load on boot if cache
|
||||
# classes is enabled. All elements of this array must also be in
|
||||
# +load_paths+.
|
||||
attr_accessor :eager_load_paths
|
||||
|
||||
# The log level to use for the default Rails logger. In production mode,
|
||||
# this defaults to <tt>:info</tt>. In development mode, it defaults to
|
||||
# <tt>:debug</tt>.
|
||||
|
@ -686,6 +694,7 @@ Run `rake gems:install` to install the missing gems.
|
|||
self.frameworks = default_frameworks
|
||||
self.load_paths = default_load_paths
|
||||
self.load_once_paths = default_load_once_paths
|
||||
self.eager_load_paths = default_eager_load_paths
|
||||
self.log_path = default_log_path
|
||||
self.log_level = default_log_level
|
||||
self.view_path = default_view_path
|
||||
|
@ -826,6 +835,14 @@ Run `rake gems:install` to install the missing gems.
|
|||
[]
|
||||
end
|
||||
|
||||
def default_eager_load_paths
|
||||
%w(
|
||||
app/models
|
||||
app/controllers
|
||||
app/helpers
|
||||
).map { |dir| "#{root_path}/#{dir}" }.select { |dir| File.directory?(dir) }
|
||||
end
|
||||
|
||||
def default_log_path
|
||||
File.join(root_path, 'log', "#{environment}.log")
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue