123456789_123456789_123456789_123456789_123456789_

Class: RDoc::Markup::List

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Element
Instance Chain:
self, Element
Inherits: RDoc::Markup::Element
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 definitions are stored as list items.

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Element - Inherited

#accept

: (untyped) -> void.

#pretty_print

: (PP) -> void.

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 : (Symbol?, *ListItem) -> void

[ GitHub ]

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

def initialize(type = nil, *items)
  @type = type
  @items = items
end

Instance Attribute Details

#empty? ⇒ Boolean (readonly)

Is the list empty? : () -> bool

[ GitHub ]

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

def empty?
  @items.empty?
end

#items (readonly)

Items in the list : Array

[ GitHub ]

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

attr_reader :items

#type (rw)

The list's type : Symbol?

[ GitHub ]

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

attr_accessor :type

Instance Method Details

#<<(item)

Appends item to the list : (ListItem) -> void

[ GitHub ]

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

def <<(item)
  @items << item
end

#==(other)

This method is for internal use only.

: (top) -> bool

[ GitHub ]

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

def ==(other) # :nodoc:
  self.class == other.class &&
    @type == other.type &&
    @items == other.items
end

#accept(visitor)

Runs this list and all its #items through visitor : (untyped) -> void

[ GitHub ]

  
# 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

#last

Returns the last item in the list : () -> ListItem?

[ GitHub ]

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

def last
  @items.last
end

#pretty_print(q)

This method is for internal use only.

: (PP) -> void

[ GitHub ]

  
# 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)

Appends #items to the list : (*ListItem) -> void

[ GitHub ]

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

def push(*items)
  @items.concat(items)
end