Module: Codeine::Injectable

Defined in:
lib/codeine/injectable.rb

Instance Method Summary collapse

Instance Method Details

#codeine_inject(service, method_name = nil) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/codeine/injectable.rb', line 9

def codeine_inject(service, method_name = nil)
  method_name = method_name || service
  define_method(method_name.to_sym) do
    cache = instance_variable_get("@codeine_#{service}")
    unless cache
      cache = self.class.nearest_codeine_container[service.to_sym]
      instance_variable_set("@codeine_#{service}", cache)
    end
    cache
  end
end

#nearest_codeine_containerObject



5
6
7
# File 'lib/codeine/injectable.rb', line 5

def nearest_codeine_container
  Codeine::Utility.nearest_container(self)
end