| Class | RDoc::RI::Reader |
| In: |
ri/reader.rb
|
| Parent: | Object |
Return a list of all classes, modules, and methods
# File ri/reader.rb, line 79
79: def all_names
80: res = []
81: find_names_in(res, @cache.toplevel)
82: end
# File ri/reader.rb, line 24
24: def find_class_by_name(full_name)
25: names = full_name.split(/::/)
26: ns = @cache.toplevel
27: for name in names
28: ns = ns.contained_class_named(name)
29: return nil if ns.nil?
30: end
31: get_class(ns)
32: end
# File ri/reader.rb, line 86
86: def find_classes_in(res, klass)
87: classes = klass.classes_and_modules
88: for c in classes
89: res << c.full_name
90: find_classes_in(res, c)
91: end
92: res
93: end
# File ri/reader.rb, line 34
34: def find_methods(name, is_class_method, namespaces)
35: result = []
36: namespaces.each do |ns|
37: result.concat ns.methods_matching(name, is_class_method)
38: end
39: result
40: end
# File ri/reader.rb, line 95
95: def find_names_in(res, klass)
96: classes = klass.classes_and_modules
97: for c in classes
98: res << c.full_name
99: res.concat c.all_method_names
100: find_names_in(res, c)
101: end
102: res
103: end
Return the names of all classes and modules
# File ri/reader.rb, line 71
71: def full_class_names
72: res = []
73: find_classes_in(res, @cache.toplevel)
74: end
Return a class description
# File ri/reader.rb, line 54
54: def get_class(class_entry)
55: result = nil
56: for path in class_entry.path_names
57: path = RiWriter.class_desc_path(path, class_entry)
58: desc = File.open(path) {|f| RI::Description.deserialize(f) }
59: if result
60: result.merge_in(desc)
61: else
62: result = desc
63: end
64: end
65: result
66: end
Return the MethodDescription for a given MethodEntry by deserializing the YAML
# File ri/reader.rb, line 46
46: def get_method(method_entry)
47: path = method_entry.path_name
48: File.open(path) { |f| RI::Description.deserialize(f) }
49: end
# File ri/reader.rb, line 16
16: def lookup_namespace_in(target, namespaces)
17: result = []
18: for n in namespaces
19: result.concat(n.contained_modules_matching(target))
20: end
21: result
22: end