123456789_123456789_123456789_123456789_123456789_

Class: RDoc::Markup::List

Relationships & Source Files
Inherits: Object
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 ListItem for how labels and definition are stored as list items.

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(type = nil, *items) ⇒ List

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

[ GitHub ]

  
# File 'lib/rdoc/markup/list.rb', line 39

def initialize type = nil, *items
  @type = type
  @items = []
  @items.concat items
end

Instance Attribute Details

#empty?Boolean (readonly)

Is the list empty?

[ GitHub ]

  
# File 'lib/rdoc/markup/list.rb', line 74

def empty?
  @items.empty?
end

#items (readonly)

Items in the list

[ GitHub ]

  
# File 'lib/rdoc/markup/list.rb', line 33

attr_reader :items

#type (rw)

The list's type

[ GitHub ]

  
# File 'lib/rdoc/markup/list.rb', line 28

attr_accessor :type

Instance Method Details

#<<(item)

Appends item to the list

[ GitHub ]

  
# File 'lib/rdoc/markup/list.rb', line 48

def << item
  @items << item
end

#accept(visitor)

Runs this list and all its #items through visitor

[ GitHub ]

  
# 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

#last

Returns the last item in the list

[ GitHub ]

  
# File 'lib/rdoc/markup/list.rb', line 81

def last
  @items.last
end

#push(*items)

Appends #items to the list

[ GitHub ]

  
# File 'lib/rdoc/markup/list.rb', line 96

def push *items
  @items.concat items
end