Class | RI::RiReader |
In: |
ri/ri_reader.rb
|
Parent: | Object |
return a list of all classes, modules, and methods
# File ri/ri_reader.rb, line 71 71: def all_names 72: res = [] 73: find_names_in(res, @cache.toplevel) 74: end
# File ri/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/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
return the names of all classes and modules
# File ri/ri_reader.rb, line 65 65: def full_class_names 66: res = [] 67: find_classes_in(res, @cache.toplevel) 68: end
Return a class description
# File ri/ri_reader.rb, line 50 50: def get_class(class_entry) 51: result = nil 52: for path in class_entry.path_names 53: path = RiWriter.class_desc_path(path, class_entry) 54: desc = File.open(path) {|f| RI::Description.deserialize(f) } 55: if result 56: result.merge_in(desc) 57: else 58: result = desc 59: end 60: end 61: result 62: end
return the MethodDescription for a given MethodEntry by deserializing the YAML
# File ri/ri_reader.rb, line 44 44: def get_method(method_entry) 45: path = method_entry.path_name 46: File.open(path) { |f| RI::Description.deserialize(f) } 47: end
# File ri/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