aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rdoc/require.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rdoc/require.rb')
-rw-r--r--lib/rdoc/require.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/rdoc/require.rb b/lib/rdoc/require.rb
index 407b55af35..65d3d464da 100644
--- a/lib/rdoc/require.rb
+++ b/lib/rdoc/require.rb
@@ -16,6 +16,7 @@ class RDoc::Require < RDoc::CodeObject
def initialize(name, comment)
super()
@name = name.gsub(/'|"/, "") #'
+ @top_level = nil
self.comment = comment
end
@@ -28,5 +29,25 @@ class RDoc::Require < RDoc::CodeObject
]
end
+ def to_s # :nodoc:
+ "require #{name} in: #{parent}"
+ end
+
+ ##
+ # The RDoc::TopLevel corresponding to this require, or +nil+ if not found.
+
+ def top_level
+ @top_level ||= begin
+ tl = RDoc::TopLevel.all_files_hash[name + '.rb']
+
+ if tl.nil? and RDoc::TopLevel.all_files.first.full_name =~ %r(^lib/) then
+ # second chance
+ tl = RDoc::TopLevel.all_files_hash['lib/' + name + '.rb']
+ end
+
+ tl
+ end
+ end
+
end