Method: YARD::CodeObjects::ClassObject#inheritance_tree
- Defined in:
- lib/yard/code_objects/class_object.rb
#inheritance_tree(include_mods = false) ⇒ Array<NamespaceObject>
Returns the inheritance tree of the object including self.
42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/yard/code_objects/class_object.rb', line 42 def inheritance_tree(include_mods = false) list = (include_mods ? mixins(:instance, :class) : []) if superclass.is_a?(Proxy) || superclass.respond_to?(:inheritance_tree) list += [superclass] unless superclass == P(:Object) || superclass == P(:BasicObject) end [self] + list.map do |m| next m if m == self next m unless m.respond_to?(:inheritance_tree) m.inheritance_tree(include_mods) end.flatten.uniq end |