Class SM::Lines
In: rdoc/markup/simple_markup/lines.rb
Parent: Object

A container for all the lines

Methods

as_text   delete   each   empty?   line_types   new   next   normalize   rewind   unget  

Included Modules

Enumerable

Attributes

lines  [R] 

Public Class methods

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 98
    def initialize(lines)
      @lines = lines
      rewind
    end

Public Instance methods

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 143
    def as_text
      @lines.map {|l| l.text}.join("\n")
    end

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 133
    def delete(a_line)
      a_line.deleted = true
    end

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 107
    def each
      @lines.each do |line|
        yield line unless line.deleted
      end
    end

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 103
    def empty?
      @lines.size.zero?
    end

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 147
    def line_types
      @lines.map {|l| l.type }
    end

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 121
    def next
      begin
        res = @lines[@nextline]
        @nextline += 1 if @nextline < @lines.size
      end while res and res.deleted and @nextline < @lines.size
      res
    end

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 137
    def normalize
      margin = @lines.collect{|l| l.leading_spaces}.min
      margin = 0 if margin == Line::INFINITY
      @lines.each {|line| line.strip_leading(margin) } if margin > 0
    end

def [](index)

  @lines[index]

end

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 117
    def rewind
      @nextline = 0
    end

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 129
    def unget
      @nextline -= 1
    end

[Validate]