module NoBrainer::Autoload

Public Class Methods

extended(base) click to toggle source
# File lib/no_brainer/autoload.rb, line 4
def self.extended(base)
  ActiveSupport::Autoload.send(:extended, base)
end

Public Instance Methods

autoload(*constants) click to toggle source
Calls superclass method
# File lib/no_brainer/autoload.rb, line 8
def autoload(*constants)
  constants.each { |constant| super(constant) }
end
autoload_and_include(*constants) click to toggle source
# File lib/no_brainer/autoload.rb, line 22
def autoload_and_include(*constants)
  eager_autoload(*constants)
  constants.each { |constant| include const_get(constant) }
end
eager_autoload(*constants) click to toggle source
Calls superclass method
# File lib/no_brainer/autoload.rb, line 12
def eager_autoload(*constants)
  super() { autoload(*constants) }
end
eager_load!() click to toggle source
Calls superclass method
# File lib/no_brainer/autoload.rb, line 16
def eager_load!
  super
  @_autoloads.keys.map  { |c| const_get(c) }
                  .each { |c| c.eager_load! if c.respond_to?(:eager_load!) }
end