class Barnyard2::Waldo::Where
Attributes
epoch[R]
record[R]
spool_dir[R]
spool_filebase[R]
utc[RW]
Public Class Methods
new(bookmark=Barnyard2::Waldo::Defaults::Bookmark)
click to toggle source
# File lib/barnyard2waldo/where.rb, line 9 def initialize (bookmark=Barnyard2::Waldo::Defaults::Bookmark) raise WaldoFileError unless File.file?(bookmark) raise WaldoFilePermissionsError unless File.stat(bookmark).readable? begin # (r) Read-only, starts at beginning of file (default mode). # (b) Binary file mode fp = open(bookmark, 'rb') s = fp.read(Barnyard2::Waldo::MAX_FILEPATH_BUF) @spool_dir = s.strip s = fp.read(Barnyard2::Waldo::MAX_FILEPATH_BUF) @spool_filebase = s.strip s = fp.read(Barnyard2::Waldo::UINT32_t) @epoch = s.unpack('V').first s = fp.read(Barnyard2::Waldo::UINT32_t) @record = s.unpack('V').first ensure fp.close end end
Public Instance Methods
to_s()
click to toggle source
Unpack the bytes and the array:
# File lib/barnyard2waldo/where.rb, line 34 def to_s if @utc == true "Barnyard spool: #{@spool_dir}/#{@spool_filebase}.#{@epoch}\nRecord Idx: #{@record}\n#{Time.at(@epoch).utc}" else "Barnyard spool: #{@spool_dir}/#{@spool_filebase}.#{@epoch}\nRecord Idx: #{@record}\n#{Time.at(@epoch)}" end end