class ActiveSupport::FileUpdateChecker

FileUpdateChecker specifies the API used by Rails to watch files and control reloading. The API depends on four methods:

After initialization, a call to execute_if_updated must execute the block only if there was really a change in the filesystem.

This class is used by Rails to reload the I18n framework whenever they are changed upon a new request.

i18n_reloader = ActiveSupport::FileUpdateChecker.new(paths) do
  I18n.reload!
end

ActiveSupport::Reloader.to_prepare do
  i18n_reloader.execute_if_updated
end