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