Module: LazyNames
- Defined in:
- lib/lazy_names.rb,
lib/lazy_names/config.rb,
lib/lazy_names/logger.rb,
lib/lazy_names/definer.rb,
lib/lazy_names/version.rb,
lib/lazy_names/config_loader.rb,
lib/lazy_names/find_namespace.rb,
lib/lazy_names/config_validator.rb
Defined Under Namespace
Classes: Config, ConfigLoader, ConfigValidator, Definer, FindNamespace, Logger
Constant Summary collapse
- VERSION =
'1.0.0'
Class Method Summary collapse
-
.load_definitions!(top_level_binding = TOPLEVEL_BINDING) ⇒ Object
rubocop:disable Metrics/AbcSize.
Class Method Details
.load_definitions!(top_level_binding = TOPLEVEL_BINDING) ⇒ Object
rubocop:disable Metrics/AbcSize
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/lazy_names.rb', line 12 def self.load_definitions!(top_level_binding = TOPLEVEL_BINDING) # rubocop:disable Metrics/AbcSize 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 |