This class is responsible to track files and invoke the given block whenever one of these files are changed. For example, 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
Methods
E
N
U
Attributes
[R] paths
[R] last_update_at
Class Public methods
new(paths, calculate=false, &block)
# File activesupport/lib/active_support/file_update_checker.rb, line 18
def initialize(paths, calculate=false, &block)
  @paths = paths
  @block = block
  @last_update_at = calculate ? updated_at : nil
end
Instance Public methods
execute_if_updated()
# File activesupport/lib/active_support/file_update_checker.rb, line 28
def execute_if_updated
  current_update_at = self.updated_at
  if @last_update_at != current_update_at
    @last_update_at = current_update_at
    @block.call
  end
end
updated_at()
# File activesupport/lib/active_support/file_update_checker.rb, line 24
def updated_at
  paths.map { |path| File.stat(path).mtime }.max
end