class Kozo::Container
Attributes
dependencies[R]
Public Class Methods
new()
click to toggle source
# File lib/kozo/container.rb, line 7 def initialize @dependencies = {} end
Public Instance Methods
register(key, force: false, &block)
click to toggle source
# File lib/kozo/container.rb, line 11 def register(key, force: false, &block) raise DependencyAlreadyRegistered, key unless force || !dependencies[key] dependencies[key] = block end
resolve(key, *args, quiet: false, &block)
click to toggle source
# File lib/kozo/container.rb, line 17 def resolve(key, *args, quiet: false, &block) return dependencies[key].call(*args, &block) if dependencies[key] raise DependencyNotRegistered, key unless quiet end