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
40 41 42 43 44 |
# File 'lib/rdoc/markup/list.rb', line 40 def initialize type = nil, *items @type = type @items = [] @items.concat items end |
Instance Attribute Details
#items ⇒ Object (readonly)
Items in the list
34 35 36 |
# File 'lib/rdoc/markup/list.rb', line 34 def items @items end |
#type ⇒ Object
The list’s type
29 30 31 |
# File 'lib/rdoc/markup/list.rb', line 29 def type @type end |
Instance Method Details
#<<(item) ⇒ Object
Appends item
to the list
49 50 51 |
# File 'lib/rdoc/markup/list.rb', line 49 def << item @items << item end |
#==(other) ⇒ Object
:nodoc:
53 54 55 56 57 |
# File 'lib/rdoc/markup/list.rb', line 53 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
62 63 64 65 66 67 68 69 70 |
# File 'lib/rdoc/markup/list.rb', line 62 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?
75 76 77 |
# File 'lib/rdoc/markup/list.rb', line 75 def empty? @items.empty? end |
#last ⇒ Object
Returns the last item in the list
82 83 84 |
# File 'lib/rdoc/markup/list.rb', line 82 def last @items.last end |
#pretty_print(q) ⇒ Object
:nodoc:
86 87 88 89 90 91 92 |
# File 'lib/rdoc/markup/list.rb', line 86 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
97 98 99 |
# File 'lib/rdoc/markup/list.rb', line 97 def push *items @items.concat items end |