mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
2ef9c50c6e
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
53 lines
963 B
Ruby
53 lines
963 B
Ruby
require 'rdoc/code_object'
|
|
|
|
##
|
|
# A file loaded by \#require
|
|
|
|
class RDoc::Require < RDoc::CodeObject
|
|
|
|
##
|
|
# Name of the required file
|
|
|
|
attr_accessor :name
|
|
|
|
##
|
|
# Creates a new Require that loads +name+ with +comment+
|
|
|
|
def initialize(name, comment)
|
|
super()
|
|
@name = name.gsub(/'|"/, "") #'
|
|
@top_level = nil
|
|
self.comment = comment
|
|
end
|
|
|
|
def inspect # :nodoc:
|
|
"#<%s:0x%x require '%s' in %s>" % [
|
|
self.class,
|
|
object_id,
|
|
@name,
|
|
parent_file_name,
|
|
]
|
|
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
|
|
|