class FastRI::RiIndex::ClassEntry
Attributes
full_name[R]
index[R]
name[R]
source_index[R]
Public Class Methods
new(ri_index, fullname, index, source_index)
click to toggle source
# File lib/fastri/ri_index.rb, line 125 def initialize(ri_index, fullname, index, source_index) @ri_index = ri_index @full_name = fullname @name = fullname.split(/::/).last @index = index @source_index = source_index end
Public Instance Methods
all_method_names()
click to toggle source
Returns all methods, both instance and singleton (non-recursive).
# File lib/fastri/ri_index.rb, line 179 def all_method_names @ri_index.methods_under(self, false, @source_index).map{|meth| meth.full_name} end
classes_and_modules()
click to toggle source
Returns all nested classes and modules (non-recursive).
# File lib/fastri/ri_index.rb, line 153 def classes_and_modules @ri_index.namespaces_under(self, false, @source_index) end
contained_class_named(name)
click to toggle source
Returns nested class or module named exactly name
(non-recursive).
# File lib/fastri/ri_index.rb, line 158 def contained_class_named(name) contained_modules_matching(name).find{|x| x.name == name} end
contained_modules_matching(name)
click to toggle source
Returns nested classes and modules matching name (non-recursive).
# File lib/fastri/ri_index.rb, line 146 def contained_modules_matching(name) @ri_index.namespaces_under(self, false, @source_index).select do |x| x.name[name] end end
methods_matching(name, is_class_method)
click to toggle source
Returns instance or singleton methods matching name (non-recursive).
# File lib/fastri/ri_index.rb, line 163 def methods_matching(name, is_class_method) @ri_index.methods_under(self, false, @source_index).select do |meth| meth.name[name] && (is_class_method ? meth.singleton_method? : meth.instance_method?) end end
path_names()
click to toggle source
Returns an array of directory names holding the cdesc-Classname.yaml files.
# File lib/fastri/ri_index.rb, line 135 def path_names prefix = @full_name.split(/::/) case @source_index when nil @ri_index.source_paths_for(self).map{|path| File.join(path, *prefix) } else [File.join(@ri_index.paths[@source_index], *prefix)] end end
recursively_find_methods_matching(name, is_class_method)
click to toggle source
Returns instance or singleton methods matching name (recursive).
# File lib/fastri/ri_index.rb, line 171 def recursively_find_methods_matching(name, is_class_method) @ri_index.methods_under(self, true, @source_index).select do |meth| meth.name[name] && (is_class_method ? meth.singleton_method? : meth.instance_method?) end end
type()
click to toggle source
Returns the type of this entry (:namespace
).
# File lib/fastri/ri_index.rb, line 184 def type :namespace end