Module: SimpleInjector::ClassMethods
- Defined in:
- lib/simple_injector.rb
Overview
methods to add on included class
Instance Method Summary collapse
Instance Method Details
#attr_injector(name) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/simple_injector.rb', line 18 def attr_injector(name) injectable = Inject.find(@contractor_class, name) define_method name do instance_variable_set(:"@#{name}", injectable.callback.call) unless instance_variable_defined?(:"@#{name}") instance_variable_get(:"@#{name}") end end |
#contract(klass) ⇒ Object
28 29 30 |
# File 'lib/simple_injector.rb', line 28 def contract(klass) @contractor_class = klass.to_s end |