Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
File::Tail for Ruby
Ruby
Tree: 24ce3bbc57

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
examples
lib
tests
.gitignore
.travis.yml
CHANGES
COPYING
Gemfile
README.rdoc
Rakefile
VERSION
file-tail.gemspec

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

Something went wrong with that request. Please try again.