# module ActiveSupport::Autoload

### Public Class Methods

eager_autoload!() click to toggle source

    # File lib/active_support/dependencies/autoload.rb, line 42
    def self.eager_autoload!
      @@autoloads.values.each { |file| require file }
    end

### Public Instance Methods

autoload(const_name, path = @@at_path) click to toggle source

    # File lib/active_support/dependencies/autoload.rb, line 11
    def autoload(const_name, path = @@at_path)
      full = [self.name, @@under_path, const_name.to_s, path].compact.join("::")
      location = path || Inflector.underscore(full)

      if @@eager_autoload
        @@autoloads[const_name] = location
      end
      super const_name, location
    end

autoload_at(path) { || ... } click to toggle source

    # File lib/active_support/dependencies/autoload.rb, line 28
    def autoload_at(path)
      @@at_path, old_path = path, @@at_path
      yield
    ensure
      @@at_path = old_path
    end

autoload_under(path) { || ... } click to toggle source

    # File lib/active_support/dependencies/autoload.rb, line 21
    def autoload_under(path)
      @@under_path, old_path = path, @@under_path
      yield
    ensure
      @@under_path = old_path
    end

autoloads() click to toggle source

    # File lib/active_support/dependencies/autoload.rb, line 46
    def autoloads
      @@autoloads
    end

eager_autoload() { || ... } click to toggle source

    # File lib/active_support/dependencies/autoload.rb, line 35
    def eager_autoload
      old_eager, @@eager_autoload = @@eager_autoload, true
      yield
    ensure
      @@eager_autoload = old_eager
    end