Class: Class
- Inherits:
-
Object
- Object
- Class
- Defined in:
- lib/pinball/class.rb
Instance Method Summary collapse
Instance Method Details
#check_pinball ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/pinball/class.rb', line 16 def check_pinball unless is_a? Pinball extend Pinball send(:include, Pinball::Methods) public_send(:define_singleton_method, :inherited_with_pinball) do |child| inherited_without_pinball(child) if respond_to?(:inherited_without_pinball) child.instance_variable_set :@dependencies, dependencies child.check_pinball end public_send(:define_singleton_method, :inherited_without_pinball, method(:inherited)) if respond_to?(:inherited) public_send(:define_singleton_method, :inherited, method(:inherited_with_pinball)) end end |
#class_inject(*deps) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/pinball/class.rb', line 8 def class_inject(*deps) deps.each do |dep| define_singleton_method dep do Pinball::Container.lookup(dep).fetch(self) end end end |
#inject(*deps) ⇒ Object
2 3 4 5 6 |
# File 'lib/pinball/class.rb', line 2 def inject(*deps) check_pinball @dependencies ||= [] @dependencies.concat(deps).uniq! end |