Sha256: 38fa5e8770023fada6de8f7b69c6c7dd15f178ac3803d77f3f7f75c649379707

Contents?: true

Size: 1.08 KB

Versions: 20

Compression:

Stored size: 1.08 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

  ##
  # Runs this list and all its #items through +visitor+

  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

20 entries across 20 versions & 1 rubygems

Version Path
rdoc-3.9.5 lib/rdoc/markup/list.rb
rdoc-3.9.4 lib/rdoc/markup/list.rb
rdoc-3.9.3 lib/rdoc/markup/list.rb
rdoc-3.9.2 lib/rdoc/markup/list.rb
rdoc-3.9.1 lib/rdoc/markup/list.rb
rdoc-3.9 lib/rdoc/markup/list.rb
rdoc-3.8 lib/rdoc/markup/list.rb
rdoc-3.7 lib/rdoc/markup/list.rb
rdoc-3.6.1 lib/rdoc/markup/list.rb
rdoc-3.6 lib/rdoc/markup/list.rb
rdoc-3.5.3 lib/rdoc/markup/list.rb
rdoc-3.5.2 lib/rdoc/markup/list.rb
rdoc-3.5.1 lib/rdoc/markup/list.rb
rdoc-3.5 lib/rdoc/markup/list.rb
rdoc-3.4 lib/rdoc/markup/list.rb
rdoc-3.3 lib/rdoc/markup/list.rb
rdoc-3.2 lib/rdoc/markup/list.rb
rdoc-3.1 lib/rdoc/markup/list.rb
rdoc-3.0.1 lib/rdoc/markup/list.rb
rdoc-3.0 lib/rdoc/markup/list.rb