File birthtime extension for Ruby

This module extends core Ruby classes File and File::Stat with methods to query file birthtime (creation time).


For now, only systems with field st_birthtime in struct stat (BSDs with UFS2 support).


  • rubygem >= 1.2

  • working C compiler


If installing to $HOME

export RB_USER_INSTALL=true

From gem

gem install --source mwisnicki-ruby-file-birthtime

From source

git clone git://
cd ruby-file-birthtime
gem build ruby-file-birthtime.gemspec
gem install file-birthtime-*.gem


require 'file_btime' # => true
File.btime('.') # => Tue Jun 16 15:07:21 0200 2009'.').btime # => Tue Jun 16 15:07:21 0200 2009
File.stat('.').btime # => Tue Jun 16 15:07:21 0200 2009

Returns nil if particular filesystem does not support birthtimes (st_birthtime<0).


  1. Add necessary checks to extconf.rb

  2. Port to other platforms - at least Win32, MacOSX, maybe Solaris (with ZFS).