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

Methods

isBlank?   new   stamp   strip_leading   to_s  

Constants

INFINITY = 9999
BLANK = :BLANK
HEADING = :HEADING
LIST = :LIST
RULE = :RULE
PARAGRAPH = :PARAGRAPH
VERBATIM = :VERBATIM

Attributes

deleted  [RW]  true if this line has been deleted from the list of lines
flag  [RW]  A flag. For list lines, this is the type of the list
leading_spaces  [RW]  the number of leading spaces
level  [RW]  The indentation nesting level
param  [RW]  A prefix or parameter. For LIST lines, this is the text that introduced the list item (the label)
text  [RW]  The contents
type  [RW]  line type

Public Class methods

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 42
    def initialize(text)
      @text    = text.dup
      @deleted = false

      # expand tabs
      1 while @text.gsub!(/\t+/) { ' ' * (8*$&.length - $`.length % 8)}  && $~ #`

      # Strip trailing whitespace
      @text.sub!(/\s+$/, '')

      # and look for leading whitespace
      if @text.length > 0
        @text =~ /^(\s*)/
        @leading_spaces = $1.length
      else
        @leading_spaces = INFINITY
      end
    end

Public Instance methods

Return true if this line is blank

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 62
    def isBlank?
      @text.length.zero?
    end

stamp a line with a type, a level, a prefix, and a flag

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 67
    def stamp(type, level, param="", flag=nil)
      @type, @level, @param, @flag = type, level, param, flag
    end

Strip off the leading margin

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 75
    def strip_leading(size)
      if @text.size > size
        @text[0,size] = ""
      else
        @text = ""
      end
    end

[Source]

# File rdoc/markup/simple_markup/lines.rb, line 83
    def to_s
      "#@type#@level: #@text"
    end

[Validate]