Sha256: 97e659b8011bcb3c1183bff416c30ba69c8ef101c5a016be1dfb69626aed7b02

Contents?: true

Size: 620 Bytes

Versions: 1

Compression:

Stored size: 620 Bytes

Contents

require "untangle/version"
require "untangle/injector"

module Untangle
  def self.injector
    @injector ||= Injector.new
  end

  def self.register(name, dependency)
    injector.register(name, dependency)
  end

  def self.lookup(name)
    injector.lookup(name)
  end

  def self.inject(method)
    injector.inject(method)
  end

  def injector
    @injector ||= Injector.new(Untangle.injector)
  end

  def dependency(name, *args, &block)
    custom_injector = injector
    custom_injector.register name, *args, &block

    define_method name do
      custom_injector.lookup(name)
    end
    private name
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
untangle-0.0.1 lib/untangle.rb