class RDoc::Markup::List

frozen_string_literal: true

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.

Attributes

items[R]

Items in the list

type[RW]

The list's type

Public Class Methods

new(type = nil, *items) click to toggle source

Creates a new list of type with items. Valid list types are: :BULLET, :LABEL, :LALPHA, :NOTE, :NUMBER, :UALPHA

# File lib/rdoc/markup/list.rb, line 40
def initialize type = nil, *items
  @type = type
  @items = []
  @items.concat items
end

Public Instance Methods

<<(item) click to toggle source

Appends item to the list

# File lib/rdoc/markup/list.rb, line 49
def << item
  @items << item
end
accept(visitor) click to toggle source

Runs this list and all its items through visitor

# 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?() click to toggle source

Is the list empty?

# File lib/rdoc/markup/list.rb, line 75
def empty?
  @items.empty?
end
last() click to toggle source

Returns the last item in the list

# File lib/rdoc/markup/list.rb, line 82
def last
  @items.last
end
push(*items) click to toggle source

Appends items to the list

# File lib/rdoc/markup/list.rb, line 97
def push *items
  @items.concat items
end