Class: Spektrum::Log::BufferedFile

Inherits:
Object
  • Object
show all
Defined in:
lib/spektrum/log/buffered_file.rb

Instance Method Summary collapse

Constructor Details

#initialize(uri, mode) ⇒ BufferedFile

Returns a new instance of BufferedFile.



8
9
10
11
# File 'lib/spektrum/log/buffered_file.rb', line 8

def initialize(uri, mode)
  @io = open(uri, mode)
  @buffer = StringIO.new
end

Instance Method Details

#closeObject



18
19
20
21
# File 'lib/spektrum/log/buffered_file.rb', line 18

def close
  @buffer = nil
  @io.close
end

#read(length) ⇒ Object



13
14
15
16
# File 'lib/spektrum/log/buffered_file.rb', line 13

def read(length)
  fetch_chunk if (@buffer.length - @buffer.pos) < length
  @buffer.read(length)
end