File::Tail for Ruby
Ruby
Latest commit 922b455 Apr 19, 2016 @flori Bump to newer version 1.2.0
Failed to load latest commit information.
bin Strip some more spaces Dec 24, 2011
examples
lib Bump to newer version 1.2.0 Apr 19, 2016
tests Fix test suite for Ruby 2.3 compatibility. Apr 18, 2016
.gitignore Some necessary updates Jan 30, 2014
.travis.yml Test newer rubies Apr 19, 2016
CHANGES Bump to newer version 1.2.0 Apr 19, 2016
COPYING initial commit Aug 21, 2009
Gemfile Fix rubygems warning Sep 4, 2014
README.rdoc Add File::Tail::Group and use File::Tail::Group in rtail cli util Jun 25, 2011
Rakefile Depend on tins ~> 1.0 Sep 26, 2014
VERSION Bump to newer version 1.2.0 Apr 19, 2016
file-tail.gemspec Bump to newer version 1.2.0 Apr 19, 2016

README.rdoc

File::Tail for Ruby

Description

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

Download

The latest version of File::Tail (file-tail) can be found at

www.ping.de/~flori

Online Documentation should be located at

flori.github.com/file-tail

Installation

To install file-tail via its gem type:

# gem install file-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

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