diff options
Diffstat (limited to 'jni/ruby/lib/rdoc/require.rb')
-rw-r--r-- | jni/ruby/lib/rdoc/require.rb | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/jni/ruby/lib/rdoc/require.rb b/jni/ruby/lib/rdoc/require.rb new file mode 100644 index 0000000..a3d4bd1 --- /dev/null +++ b/jni/ruby/lib/rdoc/require.rb @@ -0,0 +1,51 @@ +## +# 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 + |