http://subtech.g.hatena.ne.jp/secondlife/20070228/1172625779 もう素晴らしい回答が出てきてるような気もしますがとりあえず勉強がてらやってみました。Observable初めて使った。 # lib/file/stat/observable.rb require 'observer' require 'thread' $LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '../../'))) require 'file/stat/observe_manager' class File class Stat class Observer def initialize(file, &block) unless File.exists? file rais