module LazyNames

Constants

VERSION

Public Class Methods

load_definitions!(top_level_binding = TOPLEVEL_BINDING) click to toggle source
# File lib/lazy_names.rb, line 10
def self.load_definitions!(top_level_binding = TOPLEVEL_BINDING)
  basic_config = LazyNames::ConfigLoader
    .(namespace: LazyNames::FindNamespace.())
  config = LazyNames::Config.new(basic_config.definitions, basic_config.path)
  config.validate!
  LazyNames::Definer.(config, top_level_binding)

  LazyNames::Logger.warn_undefined(config.errors.undefined, config.path)
  LazyNames::Logger.warn_duplicate_definition(config.errors.already_defined, config.path)
  LazyNames::Logger.warn_empty_definitions(config.constants.to_a.empty?, config.path)
end