module AwesomeLoader

The module that holds the awesomeness.

Constants

VERSION

Library version

Public Class Methods

autoload(root_depth: Autoloader::DEFAULT_ROOT_DEPTH, root_path: Dir.pwd, root_module: Object, eager_load: false, &block) click to toggle source

Set up an AwesomeLoader::Autoloader instance.

AwesomeLoader.autoload root_depth: 2 do
  paths %w(app routes ** *.rb), root_depth: 1
  paths %w(app ** *.rb)
end

@param root_depth [Integer] Tells AwesomeLoader to start creating Modules for dirs after this level (default 2) @param root_path [String] Path to root of the application (default Dir.pwd) @param root_module [Module] Module to load your modules into (default Object). You'll probably always want to keep the default. @param eager_load [Boolean] Make sure all files get loaded by the time the block finishes (default false) @return [AwesomeLoader::Autoloader]

# File lib/awesome_loader/autoloader.rb, line 22
def self.autoload(root_depth: Autoloader::DEFAULT_ROOT_DEPTH, root_path: Dir.pwd, root_module: Object, eager_load: false, &block)
  autoloader = Autoloader.new(root_depth: root_depth, root_path: root_path, root_module: root_module, eager_load: eager_load)
  if block
    autoloader.instance_eval(&block)
    autoloader.finalize!
  end
  autoloader
end