aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2017-01-31 00:54:01 -0500
committerGitHub <noreply@github.com>2017-01-31 00:54:01 -0500
commit6d8fdd136b0e922be5bb6cc103ffdb244d73248e (patch)
treef9a1cb6aa6ed9e11e34f69afd88c284a714b6df0 /activesupport
parentebededb3726a8143a4372fdf19ad10fe9fe2e233 (diff)
parent3585155f1b1150a027af26434ab96aedd686ca66 (diff)
downloadrails-6d8fdd136b0e922be5bb6cc103ffdb244d73248e.tar.gz
rails-6d8fdd136b0e922be5bb6cc103ffdb244d73248e.tar.bz2
rails-6d8fdd136b0e922be5bb6cc103ffdb244d73248e.zip
Merge pull request #27824 from kenta-s/raise-an-error-if-no-block-given
Raise an error if FileUpdateChecker#execute is called with no block
Diffstat (limited to 'activesupport')
-rw-r--r--activesupport/lib/active_support/evented_file_update_checker.rb6
-rw-r--r--activesupport/lib/active_support/file_update_checker.rb6
-rw-r--r--activesupport/test/file_update_checker_shared_tests.rb7
3 files changed, 17 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/evented_file_update_checker.rb b/activesupport/lib/active_support/evented_file_update_checker.rb
index ed4604c2df..080111d799 100644
--- a/activesupport/lib/active_support/evented_file_update_checker.rb
+++ b/activesupport/lib/active_support/evented_file_update_checker.rb
@@ -74,7 +74,11 @@ module ActiveSupport
def execute
@updated.make_false
- @block.call
+ if @block.nil?
+ raise ArgumentError, "no block given: #{self.inspect}, please pass a block when you initialize #{self.class}"
+ else
+ @block.call
+ end
end
def execute_if_updated
diff --git a/activesupport/lib/active_support/file_update_checker.rb b/activesupport/lib/active_support/file_update_checker.rb
index 2dbbfadac1..1af18541e3 100644
--- a/activesupport/lib/active_support/file_update_checker.rb
+++ b/activesupport/lib/active_support/file_update_checker.rb
@@ -74,7 +74,11 @@ module ActiveSupport
def execute
@last_watched = watched
@last_update_at = updated_at(@last_watched)
- @block.call
+ if @block.nil?
+ raise ArgumentError, "no block given: #{self.inspect}, please pass a block when you initialize #{self.class}"
+ else
+ @block.call
+ end
ensure
@watched = nil
@updated_at = nil
diff --git a/activesupport/test/file_update_checker_shared_tests.rb b/activesupport/test/file_update_checker_shared_tests.rb
index 48cd387196..de8796bf06 100644
--- a/activesupport/test/file_update_checker_shared_tests.rb
+++ b/activesupport/test/file_update_checker_shared_tests.rb
@@ -273,4 +273,11 @@ module FileUpdateCheckerSharedTests
assert checker.execute_if_updated
assert_equal 2, i
end
+
+ test "execute raises an ArgumentError if no block given" do
+ checker = new_checker([])
+ assert_raise ArgumentError do
+ checker.execute
+ end
+ end
end