From: Andrew Wagner Date: 2010-07-26T13:48:11+09:00 Subject: Beginning meta-programming question --001636c5b79ced71b2048c431678 Content-Type: text/plain; charset=UTF-8 I'm pretty new to ruby, and just playing around. I can't work out why the following won't work, though: 1. module TrackInheritors 2. def self.extended(parent) 3. class << parent 4. puts self 5. @@inheritors = [] 6. 7. def self.inheritors 8. @@inheritors 9. end 10. 11. def self.inherited(child) 12. @@inheritors << child 13. end 14. end 15. end 16. end 17. 18. class Parent 19. extend TrackInheritors 20. end 21. 22. class Child1 < Parent 23. end 24. 25. class Child2 < Parent 26. end 27. 28. puts Parent.inheritors 29. 30. # -:28: undefined method `inheritors' for Parent:Class (NoMethodError) --001636c5b79ced71b2048c431678--