FileUpdateChecker specifies the API used by Rails to watch files and control reloading. The API depends on four methods:
-
initializewhich expects two parameters and one block as described below. -
updated?which returns a boolean if there were updates in the filesystem or not. -
executewhich executes the given block on initialization and updates the latest watched files and timestamp. -
execute_if_updatedwhich just executes the block if it was updated.
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 ActionDispatch::Reloader.to_prepare do i18n_reloader.execute_if_updated end