In Files

  • yaml/stringio.rb

StringIO

StringIO based on code by MoonWolf

Public Class Methods

new(string="") click to toggle source
 
               # File yaml/stringio.rb, line 9
def initialize(string="")
    @string=string
    @pos=0
    @eof=(string.size==0)
end
            

Public Instance Methods

eof() click to toggle source
 
               # File yaml/stringio.rb, line 17
def eof
    @eof
end
            
Also aliased as: eof?
eof?() click to toggle source
Alias for: eof
pos() click to toggle source
 
               # File yaml/stringio.rb, line 14
def pos
    @pos
end
            
readline(rs=$/) click to toggle source
 
               # File yaml/stringio.rb, line 21
def readline(rs=$/)
    if @eof
        raise EOFError
    else
        if p = @string[@pos..-1]=~rs
            line = @string[@pos,p+1]
        else
            line = @string[@pos..-1]
        end
        @pos+=line.size
        @eof =true if @pos==@string.size
        $_ = line
    end
end
            
rewind() click to toggle source
 
               # File yaml/stringio.rb, line 35
def rewind
    seek(0,0)
end
            
seek(offset,whence) click to toggle source
 
               # File yaml/stringio.rb, line 38
def seek(offset,whence)
    case whence
    when 0
        @pos=offset
    when 1
        @pos+=offset
    when 2
        @pos=@string.size+offset
    end
    @eof=(@pos>=@string.size)
    0
end