A
Andrew Wagner
[Note: parts of this message were removed to make it a legal post.]
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)
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)