module Olelo::Factory
Public Instance Methods
[](name)
click to toggle source
# File lib/olelo/util.rb, line 31 def [](name) registry[name.to_s] || raise(NameError, "Implementation '#{name}' for '#{self.name}' not found") end
register(name, klass)
click to toggle source
# File lib/olelo/util.rb, line 25 def register(name, klass) name = name.to_s raise(ArgumentError, "Implementation '#{name}' already exists for '#{self.name}'") if registry.key?(name) registry[name] = klass end
registry()
click to toggle source
# File lib/olelo/util.rb, line 21 def registry @registry ||= superclass.try(:registry) || {} end