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