Class: RDoc::Markup::List
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 definitions are stored as list items.
Instance Attribute Summary collapse
-
#items ⇒ Object
readonly
Items in the list : Array.
-
#type ⇒ Object
The list's type : Symbol?.
Instance Method Summary collapse
-
#<<(item) ⇒ Object
Appends
itemto the list : (ListItem) -> void. -
#==(other) ⇒ Object
: (top) -> bool.
-
#accept(visitor) ⇒ Object
Runs this list and all its #items through
visitor: (untyped) -> void. -
#empty? ⇒ Boolean
Is the list empty? : () -> bool.
-
#initialize(type = nil, *items) ⇒ List
constructor
Creates a new list of
typewithitems. -
#last ⇒ Object
Returns the last item in the list : () -> ListItem?.
-
#pretty_print(q) ⇒ Object
: (PP) -> void.
-
#push(*items) ⇒ Object
Appends
itemsto the list : (*ListItem) -> void.
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
: (Symbol?, *ListItem) -> void
37 38 39 40 |
# File 'lib/rdoc/markup/list.rb', line 37 def initialize(type = nil, *items) @type = type @items = items end |
Instance Attribute Details
#items ⇒ Object (readonly)
Items in the list : Array
32 33 34 |
# File 'lib/rdoc/markup/list.rb', line 32 def items @items end |
#type ⇒ Object
The list's type : Symbol?
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
: (ListItem) -> void
44 45 46 |
# File 'lib/rdoc/markup/list.rb', line 44 def <<(item) @items << item end |
#==(other) ⇒ Object
: (top) -> bool
49 50 51 52 53 |
# File 'lib/rdoc/markup/list.rb', line 49 def ==(other) # :nodoc: self.class == other.class && @type == other.type && @items == other.items end |
#accept(visitor) ⇒ Object
Runs this list and all its #items through visitor
: (untyped) -> void
58 59 60 61 62 |
# File 'lib/rdoc/markup/list.rb', line 58 def accept(visitor) visitor.accept_list_start(self) @items.each { |item| item.accept(visitor) } visitor.accept_list_end(self) end |
#empty? ⇒ Boolean
Is the list empty? : () -> bool
66 67 68 |
# File 'lib/rdoc/markup/list.rb', line 66 def empty? @items.empty? end |
#last ⇒ Object
Returns the last item in the list : () -> ListItem?
72 73 74 |
# File 'lib/rdoc/markup/list.rb', line 72 def last @items.last end |
#pretty_print(q) ⇒ Object
: (PP) -> void
78 79 80 81 82 83 84 |
# File 'lib/rdoc/markup/list.rb', line 78 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
: (*ListItem) -> void
88 89 90 |
# File 'lib/rdoc/markup/list.rb', line 88 def push(*items) @items.concat(items) end |