mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 16:44:01 +02:00
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:
parent
9b40cdfe8c
commit
46580b5147
176 changed files with 17841 additions and 16457 deletions
72
lib/rdoc/markup/document.rb
Normal file
72
lib/rdoc/markup/document.rb
Normal 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
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue