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