Project

io-tail

0.0
No commit activity in last 3 years
No release in over 3 years
Library to tail files and process in Ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 0.1.4
~> 2.4.0

Runtime

~> 0.3
 Project Readme

IO::Tail for Ruby¶ ↑

Description¶ ↑

This is a small ruby library that allows it to “tail” various IOs in Ruby, including following a file, that still is growing like the unix command ‘tail -f’ can.

Download¶ ↑

The latest version of IO::Tail (io-tail) can be found at

github.com/octplane/ruby-io-tail

Online Documentation should be located at

rubydoc.info/github/octplane/ruby-io-tail/

Installation¶ ↑

To install io-tail via its gem type:

# gem install io-tail

To install from the source repository, just type into the command line as root:

# rake install

Usage¶ ↑

File::Tail is a module in the File class. A lightweight class interface for logfiles can be seen under File::Tail::Logfile.

Direct extension of File objects with File::Tail works like that:

File.open(filename) do |log|
  log.extend(File::Tail)
  log.interval = 10
  log.backward(10)
  log.tail { |line| puts line }
end

It’s also possible to mix File::Tail in your own File classes (see also File::Tail::Logfile):

class MyFile < File
  include File::Tail
end
log = MyFile.new("myfile")
log.interval = 10
log.backward(10)
log.tail { |line| print line }

The forward/backward method returns self, so it’s possible to chain methods together like that:

log.backward(10).tail { |line| puts line }

A command line utility named rtail, that uses File::Tail is provided as well.

Documentation¶ ↑

To create the documentation of this module, type

$ rake doc

and the API documentation is generated.

In the examples direcotry is a small example of tail and pager program that use this module. You also may want look at the end of file/tail.rb for a little example.

Author¶ ↑

Pierre Baillet pierre@baillet.name

Florian Frank flori@ping.de

License¶ ↑

This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 as published by the Free Software Foundation: www.gnu.org/copyleft/gpl.html