class Servolux::Daemon::LogfileReader
:stopdoc:
def look_for=( val )
def look_for=( val ) case val when nil; @look_for = nil when String; @look_for = Regexp.new(Regexp.escape(val)) when Regexp; @look_for = val else raise Error, "Don't know how to look for #{val.inspect} in the logfile" end end
def stat
def stat if @filename and test(?f, @filename) File.stat @filename end end
def updated?
def updated? s = stat @stat ||= s return false if s.nil? return false if @stat.mtime == s.mtime and @stat.size == s.size return true if @look_for.nil? File.open(@filename, 'r') do |fd| fd.seek @stat.size, IO::SEEK_SET while line = fd.gets return true if line =~ @look_for end end return false ensure @stat = s end