class TheFactory::Registry
Public Class Methods
new(on_missing_key:)
click to toggle source
# File lib/the_factory/registry.rb, line 3 def initialize(on_missing_key:) @modules = {} @on_missing_key = on_missing_key end
Public Instance Methods
registered_modules()
click to toggle source
# File lib/the_factory/registry.rb, line 12 def registered_modules @modules.values end
resolve(components_name)
click to toggle source
# File lib/the_factory/registry.rb, line 8 def resolve(components_name) find(components_name) || build(components_name) end
Private Instance Methods
build(components_name)
click to toggle source
# File lib/the_factory/registry.rb, line 26 def build(components_name) register(components_name, @on_missing_key.call(components_name)) end
find(module_name)
click to toggle source
# File lib/the_factory/registry.rb, line 18 def find(module_name) @modules[module_name] end
register(module_name, module_instance)
click to toggle source
# File lib/the_factory/registry.rb, line 22 def register(module_name, module_instance) @modules[module_name] = module_instance end