Class: ContextualConfig::ModuleRegistry
- Inherits:
-
Object
- Object
- ContextualConfig::ModuleRegistry
- Defined in:
- lib/contextual_config/module_registry.rb
Overview
Registry for managing different modules that use ContextualConfig
Instance Method Summary collapse
-
#all ⇒ Object
Get all registered modules.
-
#clear! ⇒ Object
Clear all registrations.
-
#configs_for_model(model_class) ⇒ Object
Get configurations for a specific model class.
-
#configs_with_key_prefix(prefix) ⇒ Object
Get configurations with a specific key prefix.
-
#get(module_name) ⇒ Object
Get a registered module configuration.
-
#initialize ⇒ ModuleRegistry
constructor
A new instance of ModuleRegistry.
-
#module_names ⇒ Object
Get all module names.
-
#register(module_name) {|config| ... } ⇒ Object
Register a module with its configuration.
-
#registered?(module_name) ⇒ Boolean
Check if a module is registered.
-
#unregister(module_name) ⇒ Object
Unregister a module.
Constructor Details
#initialize ⇒ ModuleRegistry
Returns a new instance of ModuleRegistry.
8 9 10 |
# File 'lib/contextual_config/module_registry.rb', line 8 def initialize @modules = {} end |
Instance Method Details
#all ⇒ Object
Get all registered modules
27 28 29 |
# File 'lib/contextual_config/module_registry.rb', line 27 def all @modules.dup end |
#clear! ⇒ Object
Clear all registrations
42 43 44 |
# File 'lib/contextual_config/module_registry.rb', line 42 def clear! @modules.clear end |
#configs_for_model(model_class) ⇒ Object
Get configurations for a specific model class
52 53 54 |
# File 'lib/contextual_config/module_registry.rb', line 52 def configs_for_model(model_class) @modules.values.select { |config| config.model_class == model_class } end |
#configs_with_key_prefix(prefix) ⇒ Object
Get configurations with a specific key prefix
57 58 59 |
# File 'lib/contextual_config/module_registry.rb', line 57 def configs_with_key_prefix(prefix) @modules.values.select { |config| config.key_prefix == prefix } end |
#get(module_name) ⇒ Object
Get a registered module configuration
22 23 24 |
# File 'lib/contextual_config/module_registry.rb', line 22 def get(module_name) @modules[module_name.to_sym] end |
#module_names ⇒ Object
Get all module names
47 48 49 |
# File 'lib/contextual_config/module_registry.rb', line 47 def module_names @modules.keys end |
#register(module_name) {|config| ... } ⇒ Object
Register a module with its configuration
13 14 15 16 17 18 19 |
# File 'lib/contextual_config/module_registry.rb', line 13 def register(module_name) module_sym = module_name.to_sym config = @modules[module_sym] || ModuleConfig.new(module_name) yield(config) if block_given? @modules[module_sym] = config config end |
#registered?(module_name) ⇒ Boolean
Check if a module is registered
32 33 34 |
# File 'lib/contextual_config/module_registry.rb', line 32 def registered?(module_name) @modules.key?(module_name.to_sym) end |
#unregister(module_name) ⇒ Object
Unregister a module
37 38 39 |
# File 'lib/contextual_config/module_registry.rb', line 37 def unregister(module_name) @modules.delete(module_name.to_sym) end |