たまたま見つけたので使い方をメモ。
指定されたファイルが更新されたら、何かを実行するというのを
簡潔にかけるようになる。
サンプルコード
# coding: utf-8
require 'active_support/file_update_checker'
path = File.absolute_path('./foo.txt')
checker = ActiveSupport::FileUpdateChecker.new([path]) do
  puts File.read(path)
end  
10.times do |i|
  puts 'check: ' . i.to_s
  checker.execute_if_updated # 更新されていたら、blockを実行する
  # checker.execute # こっちは更新されていなくても実行する
  sleep(2)
end
このスクリプトを動かしながら、
以下を実行すると、puts File.read(path)の結果が表示される。
echo "foo" >> foo.txt
中々使い道が難しい。