Class: RDoc::Markup::List
- Inherits:
-
Object
- Object
- RDoc::Markup::List
- Defined in:
- lib/rdoc/markup/list.rb
Overview
A List is a homogeneous set of ListItems.
The supported list types include:
- :BULLET
-
An unordered list
- :LABEL
-
An unordered definition list, but using an alternate RDoc::Markup syntax
- :LALPHA
-
An ordered list using increasing lowercase English letters
- :NOTE
-
An unordered definition list
- :NUMBER
-
An ordered list using increasing Arabic numerals
- :UALPHA
-
An ordered list using increasing uppercase English letters
Definition lists behave like HTML definition lists. Each list item can describe multiple terms. See RDoc::Markup::ListItem for how labels and definition are stored as list items.
Instance Attribute Summary collapse
-
#items ⇒ Object
readonly
Items in the list.
-
#type ⇒ Object
The list’s type.
Instance Method Summary collapse
-
#<<(item) ⇒ Object
Appends
item
to the list. -
#==(other) ⇒ Object
:nodoc:.
-
#accept(visitor) ⇒ Object
Runs this list and all its #items through
visitor
. -
#empty? ⇒ Boolean
Is the list empty?.
-
#initialize(type = nil, *items) ⇒ List
constructor
Creates a new list of
type
withitems
. -
#last ⇒ Object
Returns the last item in the list.
-
#pretty_print(q) ⇒ Object
:nodoc:.
-
#push(*items) ⇒ Object
Appends
items
to the list.
Constructor Details
#initialize(type = nil, *items) ⇒ List
Creates a new list of type
with items
. Valid list types are: :BULLET
, :LABEL
, :LALPHA
, :NOTE
, :NUMBER
, :UALPHA
39 40 41 42 43 |
# File 'lib/rdoc/markup/list.rb', line 39 def initialize type = nil, *items @type = type @items = [] @items.concat items end |
Instance Attribute Details
#items ⇒ Object (readonly)
Items in the list
33 34 35 |
# File 'lib/rdoc/markup/list.rb', line 33 def items @items end |
#type ⇒ Object
The list’s type
28 29 30 |
# File 'lib/rdoc/markup/list.rb', line 28 def type @type end |
Instance Method Details
#<<(item) ⇒ Object
Appends item
to the list
48 49 50 |
# File 'lib/rdoc/markup/list.rb', line 48 def << item @items << item end |
#==(other) ⇒ Object
:nodoc:
52 53 54 55 56 |
# File 'lib/rdoc/markup/list.rb', line 52 def == other # :nodoc: self.class == other.class and @type == other.type and @items == other.items end |
#accept(visitor) ⇒ Object
Runs this list and all its #items through visitor
61 62 63 64 65 66 67 68 69 |
# File 'lib/rdoc/markup/list.rb', line 61 def accept visitor visitor.accept_list_start self @items.each do |item| item.accept visitor end visitor.accept_list_end self end |
#empty? ⇒ Boolean
Is the list empty?
74 75 76 |
# File 'lib/rdoc/markup/list.rb', line 74 def empty? @items.empty? end |
#last ⇒ Object
Returns the last item in the list
81 82 83 |
# File 'lib/rdoc/markup/list.rb', line 81 def last @items.last end |
#pretty_print(q) ⇒ Object
:nodoc:
85 86 87 88 89 90 91 |
# File 'lib/rdoc/markup/list.rb', line 85 def pretty_print q # :nodoc: q.group 2, "[list: #{@type} ", ']' do q.seplist @items do |item| q.pp item end end end |
#push(*items) ⇒ Object
Appends items
to the list
96 97 98 |
# File 'lib/rdoc/markup/list.rb', line 96 def push *items @items.concat items end |