Sha256: dad67c49f7f7a00aacdd48432f783d4ad1f7e252c4e3bffa832db5a004dbe4a0

Contents?: true

Size: 1.02 KB

Versions: 12

Compression:

Stored size: 1.02 KB

Contents

##
# A List of ListItems

class RDoc::Markup::List

  ##
  # The list's type

  attr_accessor :type

  ##
  # Items in the list

  attr_reader :items

  ##
  # Creates a new list of +type+ with +items+

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

  ##
  # Appends +item+ to the list

  def << item
    @items << item
  end

  def == other # :nodoc:
    self.class == other.class and
      @type == other.type and
      @items == other.items
  end

  def accept visitor
    visitor.accept_list_start self

    @items.each do |item|
      item.accept visitor
    end

    visitor.accept_list_end self
  end

  ##
  # Is the list empty?

  def empty?
    @items.empty?
  end

  ##
  # Returns the last item in the list

  def last
    @items.last
  end

  def pretty_print q # :nodoc:
    q.group 2, "[list: #{@type} ", ']' do
      q.seplist @items do |item|
        q.pp item
      end
    end
  end

  ##
  # Appends +items+ to the list

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

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rdoc-2.5.11 lib/rdoc/markup/list.rb
rdoc-2.5.10 lib/rdoc/markup/list.rb
rdoc-2.5.9 lib/rdoc/markup/list.rb
rdoc-2.5.8 lib/rdoc/markup/list.rb
rdoc-2.5.7 lib/rdoc/markup/list.rb
rdoc-2.5.6 lib/rdoc/markup/list.rb
rdoc-2.5.5 lib/rdoc/markup/list.rb
rdoc-2.5.4 lib/rdoc/markup/list.rb
rdoc-2.5.3 lib/rdoc/markup/list.rb
rdoc-2.5.2 lib/rdoc/markup/list.rb
rdoc-2.5.1 lib/rdoc/markup/list.rb
rdoc-2.5 lib/rdoc/markup/list.rb