Module: LunaPark::Extensions::Injector::ClassMethods
- Included in:
- LunaPark::Extensions::Injector
- Defined in:
- lib/luna_park/extensions/injector.rb
Instance Method Summary collapse
-
#dependencies ⇒ Object
List class defined dependencies.
-
#dependency(name, &block) ⇒ Object
Set dependency.
- #inherited(inheritor) ⇒ Object
Instance Method Details
#dependencies ⇒ Object
List class defined dependencies
147 148 149 |
# File 'lib/luna_park/extensions/injector.rb', line 147 def dependencies @dependencies ||= {} end |
#dependency(name, &block) ⇒ Object
Set dependency
126 127 128 129 130 131 132 133 134 |
# File 'lib/luna_park/extensions/injector.rb', line 126 def dependency(name, &block) raise ArgumentError, 'no block given' unless block_given? dependencies[name] = block define_method(name) do dependencies.call_with_cache(name) end end |
#inherited(inheritor) ⇒ Object
111 112 113 114 115 |
# File 'lib/luna_park/extensions/injector.rb', line 111 def inherited(inheritor) dependencies.each_pair do |key, block| inheritor.dependency(key, &block) end end |