diff options
Diffstat (limited to 'railties/lib/rails')
| -rw-r--r-- | railties/lib/rails/application/finisher.rb | 7 | ||||
| -rw-r--r-- | railties/lib/rails/engine.rb | 12 | ||||
| -rw-r--r-- | railties/lib/rails/engine/configuration.rb | 24 | ||||
| -rw-r--r-- | railties/lib/rails/generators/rails/app/templates/config/application.rb | 3 | ||||
| -rw-r--r-- | railties/lib/rails/paths.rb | 44 | 
5 files changed, 28 insertions, 62 deletions
| diff --git a/railties/lib/rails/application/finisher.rb b/railties/lib/rails/application/finisher.rb index 872d78d9a4..3ae60312c5 100644 --- a/railties/lib/rails/application/finisher.rb +++ b/railties/lib/rails/application/finisher.rb @@ -89,13 +89,6 @@ module Rails            ActionDispatch::Reloader.to_cleanup(&callback)          end        end - -      # Disable dependency loading during request cycle -      initializer :disable_dependency_loading do -        if config.eager_load && config.cache_classes -          ActiveSupport::Dependencies.unhook! -        end -      end      end    end  end diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb index 8a6d1f34aa..46a6485c44 100644 --- a/railties/lib/rails/engine.rb +++ b/railties/lib/rails/engine.rb @@ -34,8 +34,9 @@ module Rails    # == Configuration    #    # Besides the +Railtie+ configuration which is shared across the application, in a -  # <tt>Rails::Engine</tt> you can access <tt>autoload_paths</tt> and <tt>autoload_once_paths</tt>, -  # which, differently from a <tt>Railtie</tt>, are scoped to the current engine. +  # <tt>Rails::Engine</tt> you can access <tt>autoload_paths</tt>, <tt>eager_load_paths</tt> +  # and <tt>autoload_once_paths</tt>, which, differently from a <tt>Railtie</tt>, are scoped to +  # the current engine.    #    #   class MyEngine < Rails::Engine    #     # Add a load path for this specific Engine @@ -455,9 +456,9 @@ module Rails      end      # Eager load the application by loading all ruby -    # files inside autoload_paths. +    # files inside eager_load paths.      def eager_load! -      config.autoload_paths.each do |load_path| +      config.eager_load_paths.each do |load_path|          matcher = /\A#{Regexp.escape(load_path)}\/(.*)\.rb\Z/          Dir.glob("#{load_path}/**/*.rb").sort.each do |file|            require_dependency file.sub(matcher, '\1') @@ -557,6 +558,7 @@ module Rails        # Freeze so future modifications will fail rather than do nothing mysteriously        config.autoload_paths.freeze +      config.eager_load_paths.freeze        config.autoload_once_paths.freeze      end @@ -669,7 +671,7 @@ module Rails      end      def _all_autoload_paths #:nodoc: -      @_all_autoload_paths ||= (config.autoload_paths + config.autoload_once_paths).uniq +      @_all_autoload_paths ||= (config.autoload_paths + config.eager_load_paths + config.autoload_once_paths).uniq      end      def _all_load_paths #:nodoc: diff --git a/railties/lib/rails/engine/configuration.rb b/railties/lib/rails/engine/configuration.rb index 2b23d8be38..10d1821709 100644 --- a/railties/lib/rails/engine/configuration.rb +++ b/railties/lib/rails/engine/configuration.rb @@ -4,7 +4,7 @@ module Rails    class Engine      class Configuration < ::Rails::Railtie::Configuration        attr_reader :root -      attr_writer :middleware, :autoload_once_paths, :autoload_paths +      attr_writer :middleware, :eager_load_paths, :autoload_once_paths, :autoload_paths        def initialize(root=nil)          super() @@ -39,16 +39,16 @@ module Rails          @paths ||= begin            paths = Rails::Paths::Root.new(@root) -          paths.add "app",                 autoload: true, glob: "*" +          paths.add "app",                 eager_load: true, glob: "*"            paths.add "app/assets",          glob: "*" -          paths.add "app/controllers",     autoload: true -          paths.add "app/helpers",         autoload: true -          paths.add "app/models",          autoload: true -          paths.add "app/mailers",         autoload: true +          paths.add "app/controllers",     eager_load: true +          paths.add "app/helpers",         eager_load: true +          paths.add "app/models",          eager_load: true +          paths.add "app/mailers",         eager_load: true            paths.add "app/views" -          paths.add "app/controllers/concerns", autoload: true -          paths.add "app/models/concerns",      autoload: true +          paths.add "app/controllers/concerns", eager_load: true +          paths.add "app/models/concerns",      eager_load: true            paths.add "lib",                 load_path: true            paths.add "lib/assets",          glob: "*" @@ -76,13 +76,7 @@ module Rails        end        def eager_load_paths -        ActiveSupport::Deprecation.warn "eager_load_paths is deprecated and all autoload_paths are now eagerly loaded." -        autoload_paths -      end - -      def eager_load_paths=(paths) -        ActiveSupport::Deprecation.warn "eager_load_paths is deprecated and all autoload_paths are now eagerly loaded." -        self.autoload_paths = paths +        @eager_load_paths ||= paths.eager_load        end        def autoload_once_paths diff --git a/railties/lib/rails/generators/rails/app/templates/config/application.rb b/railties/lib/rails/generators/rails/app/templates/config/application.rb index d149413e2e..daf399a538 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/application.rb +++ b/railties/lib/rails/generators/rails/app/templates/config/application.rb @@ -20,9 +20,6 @@ module <%= app_const_base %>      # Application configuration should go into files in config/initializers      # -- all .rb files in that directory are automatically loaded. -    # Custom directories with classes and modules you want to be autoloadable. -    # config.autoload_paths += %W(#{config.root}/extras) -      # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.      # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.      # config.time_zone = 'Central Time (US & Canada)' diff --git a/railties/lib/rails/paths.rb b/railties/lib/rails/paths.rb index 80ba144441..de6795eda2 100644 --- a/railties/lib/rails/paths.rb +++ b/railties/lib/rails/paths.rb @@ -5,13 +5,13 @@ module Rails      # paths by a Hash like API. It requires you to give a physical path on initialization.      #      #   root = Root.new "/rails" -    #   root.add "app/controllers", autoload: true +    #   root.add "app/controllers", eager_load: true      #      # The command above creates a new root object and add "app/controllers" as a path.      # This means we can get a <tt>Rails::Paths::Path</tt> object back like below:      #      #   path = root["app/controllers"] -    #   path.autoload?                 # => true +    #   path.eager_load?               # => true      #   path.is_a?(Rails::Paths::Path) # => true      #      # The +Path+ object is simply an enumerable and allows you to easily add extra paths: @@ -30,7 +30,7 @@ module Rails      #   root["config/routes"].inspect # => ["config/routes.rb"]      #      # The +add+ method accepts the following options as arguments: -    # autoload, autoload_once and glob. +    # eager_load, autoload, autoload_once and glob.      #      # Finally, the +Path+ object also provides a few helpers:      # @@ -85,8 +85,7 @@ module Rails        end        def eager_load -        ActiveSupport::Deprecation.warn "eager_load is deprecated and all autoload_paths are now eagerly loaded." -        filter_by(:autoload?) +        filter_by(:eager_load?)        end        def autoload_paths @@ -125,13 +124,9 @@ module Rails          @glob     = options[:glob]          options[:autoload_once] ? autoload_once! : skip_autoload_once! +        options[:eager_load]    ? eager_load!    : skip_eager_load!          options[:autoload]      ? autoload!      : skip_autoload!          options[:load_path]     ? load_path!     : skip_load_path! - -        if !options.key?(:autoload) && options.key?(:eager_load) -          ActiveSupport::Deprecation.warn "the :eager_load option is deprecated and all :autoload paths are now eagerly loaded." -          options[:eager_load] ? autoload! : skip_autoload! -        end        end        def children @@ -148,37 +143,22 @@ module Rails          expanded.last        end -      %w(autoload_once autoload load_path).each do |m| +      %w(autoload_once eager_load autoload load_path).each do |m|          class_eval <<-RUBY, __FILE__, __LINE__ + 1 -          def #{m}!        # def autoload! -            @#{m} = true   #   @autoload = true +          def #{m}!        # def eager_load! +            @#{m} = true   #   @eager_load = true            end              # end                             # -          def skip_#{m}!   # def skip_autoload! -            @#{m} = false  #   @autoload = false +          def skip_#{m}!   # def skip_eager_load! +            @#{m} = false  #   @eager_load = false            end              # end                             # -          def #{m}?        # def autoload? -            @#{m}          #   @autoload +          def #{m}?        # def eager_load? +            @#{m}          #   @eager_load            end              # end          RUBY        end -      def eager_load! -        ActiveSupport::Deprecation.warn "eager_load paths are deprecated and all autoload paths are now eagerly loaded." -        autoload! -      end - -      def skip_eager_load! -        ActiveSupport::Deprecation.warn "eager_load paths are deprecated and all autoload paths are now eagerly loaded." -        skip_autoload! -      end - -      def eager_load? -        ActiveSupport::Deprecation.warn "eager_load paths are deprecated and all autoload paths are now eagerly loaded." -        autoload? -      end -        def each(&block)          @paths.each(&block)        end | 
