Class: RDoc::Markup::List

Inherits:
Object
  • Object
show all
Defined in:
lib/rdoc/markup/list.rb

Overview

A List of ListItems

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type = nil, *items) ⇒ List

Creates a new list of type with items



19
20
21
22
23
# File 'lib/rdoc/markup/list.rb', line 19

def initialize type = nil, *items
  @type = type
  @items = []
  @items.push(*items)
end

Instance Attribute Details

#itemsObject (readonly)

Items in the list



14
15
16
# File 'lib/rdoc/markup/list.rb', line 14

def items
  @items
end

#typeObject

The list's type



9
10
11
# File 'lib/rdoc/markup/list.rb', line 9

def type
  @type
end

Instance Method Details

#<<(item) ⇒ Object

Appends item to the list



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

def << item
  @items << item
end

#==(other) ⇒ Object

:nodoc:



32
33
34
35
36
# File 'lib/rdoc/markup/list.rb', line 32

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



41
42
43
44
45
46
47
48
49
# File 'lib/rdoc/markup/list.rb', line 41

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?

Returns:

  • (Boolean)


54
55
56
# File 'lib/rdoc/markup/list.rb', line 54

def empty?
  @items.empty?
end

#lastObject

Returns the last item in the list



61
62
63
# File 'lib/rdoc/markup/list.rb', line 61

def last
  @items.last
end

#pretty_print(q) ⇒ Object

:nodoc:



65
66
67
68
69
70
71
# File 'lib/rdoc/markup/list.rb', line 65

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



76
77
78
# File 'lib/rdoc/markup/list.rb', line 76

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