diff --git a/activesupport/lib/active_support/file_update_checker.rb b/activesupport/lib/active_support/file_update_checker.rb index 9d617b39d4..da96d3e64d 100644 --- a/activesupport/lib/active_support/file_update_checker.rb +++ b/activesupport/lib/active_support/file_update_checker.rb @@ -32,6 +32,9 @@ module ActiveSupport if @last_update_at != current_update_at @last_update_at = current_update_at @block.call + true + else + false end end end diff --git a/activesupport/test/file_update_checker_test.rb b/activesupport/test/file_update_checker_test.rb index 425931f49a..71290c179c 100644 --- a/activesupport/test/file_update_checker_test.rb +++ b/activesupport/test/file_update_checker_test.rb @@ -42,19 +42,18 @@ module FileUpdateCheckerSuite def test_should_not_invoke_the_block_if_no_file_has_changed i = 0 - checker = ActiveSupport::FileUpdateChecker.new(args){ i += 1 } - 5.times { checker.execute_if_updated } - assert_equal 1, i + checker = ActiveSupport::FileUpdateChecker.new(args, true){ i += 1 } + 5.times { assert !checker.execute_if_updated } + assert_equal 0, i end def test_should_invoke_the_block_if_a_file_has_changed i = 0 - checker = ActiveSupport::FileUpdateChecker.new(args){ i += 1 } - checker.execute_if_updated + checker = ActiveSupport::FileUpdateChecker.new(args, true){ i += 1 } sleep(1) FileUtils.touch(FILES) - checker.execute_if_updated - assert_equal 2, i + assert checker.execute_if_updated + assert_equal 1, i end end