class SuperTailer::Base

Attributes

origin[RW]
seek_start[RW]
sleep_interval[RW]

Public Class Methods

new(file, sleep_interval = 0.1, seek_start = File::SEEK_END) click to toggle source
# File lib/super_tailer/base.rb, line 7
def initialize(file, sleep_interval = 0.1, seek_start = File::SEEK_END)
  self.seek_start = seek_start
  self.origin = initialize_origin(file)
  self.sleep_interval = sleep_interval
end

Private Instance Methods

initialize_origin(file_path) click to toggle source
# File lib/super_tailer/base.rb, line 15
def initialize_origin(file_path)
  File.new(file_path).tap do |file|
    file.seek(0, seek_start)
  end
end
tailer() { |readline| ... } click to toggle source
# File lib/super_tailer/base.rb, line 21
def tailer
  begin
    yield(origin.readline)
  rescue EOFError
    origin.seek(0, File::SEEK_CUR)
    sleep(sleep_interval)
  end
end