Module: Codeine

Defined in:
lib/codeine.rb,
lib/codeine/version.rb,
lib/codeine/container.rb,
lib/codeine/injectable.rb,
lib/codeine/containable.rb

Defined Under Namespace

Modules: Containable, Injectable, Utility Classes: Container

Constant Summary collapse

VERSION =
"0.0.4"

Class Method Summary collapse

Class Method Details

.activateObject

automatically called later in this file



10
11
12
13
# File 'lib/codeine.rb', line 10

def activate()
  Module.send(:include, Codeine::Containable)
  Module.send(:include, Codeine::Injectable)
end

.configure(mod = nil, &block) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/codeine.rb', line 32

def configure(mod=nil, &block)
  if mod.nil? 
    default_container.configure(&block)
  else
    container_for(mod).configure(&block)
  end
end

.container_for(mod) ⇒ Object



15
16
17
# File 'lib/codeine.rb', line 15

def container_for(mod)
  mod.codeine_container ||= Container.new
end

.default_containerObject



19
20
21
# File 'lib/codeine.rb', line 19

def default_container
  @default_container ||= Container.new
end

.get(service) ⇒ Object Also known as: []



27
28
29
# File 'lib/codeine.rb', line 27

def get(service)
  default_container.get(service)
end

.register(service, &block) ⇒ Object



23
24
25
# File 'lib/codeine.rb', line 23

def register(service, &block)
  default_container.register(service, &block)
end