Class: RDoc::Markup::ListItem
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/rdoc/markup/list_item.rb |
Overview
An item within a List that contains paragraphs, headings, etc.
For BULLET, NUMBER, LALPHA and UALPHA lists, the label will always be nil. For NOTE and LABEL lists, the list label may contain:
-
a single String for a single label
-
an Array of Strings for a list item with multiple terms
-
nil for an extra description attached to a previously labeled list item
Class Method Summary
- .new(label = nil, *parts) ⇒ ListItem constructor
Instance Attribute Summary
-
#empty? ⇒ Boolean
readonly
Is the
ListItem
empty? -
#label
rw
The label for the
ListItem
. -
#parts
readonly
Parts of the
ListItem
.
Instance Method Summary
-
#<<(part)
Appends
part
to theListItem
. -
#accept(visitor)
Runs this list item and all its #parts through
visitor
-
#length
Length of parts in the
ListItem
. -
#push(*parts)
Adds #parts to the
ListItem
. - #==(other) Internal use only
- #pretty_print(q) Internal use only
Constructor Details
.new(label = nil, *parts) ⇒ ListItem
[ GitHub ]
Instance Attribute Details
#empty? ⇒ Boolean
(readonly)
Is the ListItem
empty?
# File 'lib/rdoc/markup/list_item.rb', line 62
def empty? @parts.empty? end
#label (rw)
The label for the ListItem
# File 'lib/rdoc/markup/list_item.rb', line 17
attr_accessor :label
#parts (readonly)
Parts of the ListItem
# File 'lib/rdoc/markup/list_item.rb', line 22
attr_reader :parts
Instance Method Details
#<<(part)
Appends part
to the ListItem
# File 'lib/rdoc/markup/list_item.rb', line 36
def << part @parts << part end
#==(other)
#accept(visitor)
Runs this list item and all its #parts through visitor
# File 'lib/rdoc/markup/list_item.rb', line 49
def accept visitor visitor.accept_list_item_start self @parts.each do |part| part.accept visitor end visitor.accept_list_item_end self end
#length
Length of parts in the ListItem
# File 'lib/rdoc/markup/list_item.rb', line 69
def length @parts.length end
#pretty_print(q)
# File 'lib/rdoc/markup/list_item.rb', line 73
def pretty_print q # :nodoc: q.group 2, '[item: ', ']' do case @label when Array then q.pp @label q.text ';' q.breakable when String then q.pp @label q.text ';' q.breakable end q.seplist @parts do |part| q.pp part end end end
#push(*parts)
Adds #parts to the ListItem