Import RDoc 2.5

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
drbrain 2010-04-01 07:45:16 +00:00
parent 9b40cdfe8c
commit 46580b5147
176 changed files with 17841 additions and 16457 deletions

View file

@ -0,0 +1,72 @@
##
# A Document containing lists, headings, paragraphs, etc.
class RDoc::Markup::Document
##
# The parts of the Document
attr_reader :parts
##
# Creates a new Document with +parts+
def initialize *parts
@parts = []
@parts.push(*parts)
end
##
# Appends +part+ to the document
def << part
case part
when RDoc::Markup::Document then
unless part.empty? then
parts.push(*part.parts)
parts << RDoc::Markup::BlankLine.new
end
when String then
raise ArgumentError,
"expected RDoc::Markup::Document and friends, got String" unless
part.empty?
else
parts << part
end
end
def == other # :nodoc:
self.class == other.class and @parts == other.parts
end
def accept visitor
visitor.start_accepting
@parts.each do |item|
item.accept visitor
end
visitor.end_accepting
end
def empty?
@parts.empty?
end
def pretty_print q # :nodoc:
q.group 2, '[doc: ', ']' do
q.seplist @parts do |part|
q.pp part
end
end
end
##
# Appends +parts+ to the document
def push *parts
self.parts.push(*parts)
end
end