class Dinjector::Injector

Public Instance Methods

method_missing(name, *args) click to toggle source
# File lib/dinjector.rb, line 18
def method_missing(name, *args)
  raise NotRegisteredError, "#{name} not registered"
end
register(name, singleton = true, &block) click to toggle source
# File lib/dinjector.rb, line 7
def register(name, singleton = true, &block)
  define_singleton_method name do
    if singleton
      instance_variable_set "@#{name}", (instance_variable_get("@#{name}") || block[self])
      instance_variable_get "@#{name}"
    else
      block[self]
    end
  end
end