class Aws::EagerLoader

@api private

Attributes

loaded[R]

@return [Set<Module>]

Public Class Methods

new() click to toggle source
# File lib/aws-sdk-core/eager_loader.rb, line 7
def initialize
  @loaded = Set.new
end

Public Instance Methods

load(klass_or_module) click to toggle source

@param [Module] klass_or_module @return [self]

# File lib/aws-sdk-core/eager_loader.rb, line 16
def load(klass_or_module)
  @loaded << klass_or_module
  klass_or_module.constants.each do |const_name|
    path = klass_or_module.autoload?(const_name)
    begin
      require(path) if path
      const = klass_or_module.const_get(const_name)
      self.load(const) if Module === const && !@loaded.include?(const)
    rescue LoadError
    end
  end
  self
end