Method: Codeine::Injectable#codeine_inject
- Defined in:
- lib/codeine/injectable.rb
#codeine_inject(service, options = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/codeine/injectable.rb', line 9 def codeine_inject(service, = {}) args = .delete(:args){[]} method_name = .delete(:method_name) || service define_method(method_name.to_sym) do |*args| cache = instance_variable_get("@codeine_#{service}") unless cache cache = self.class.nearest_codeine_container.get(service.to_sym, *args) instance_variable_set("@codeine_#{service}", cache) end cache end end |