aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorCarlhuda <carlhuda@engineyard.com>2009-12-23 13:45:55 -0800
committerCarlhuda <carlhuda@engineyard.com>2009-12-23 15:16:38 -0800
commitfa8dfc7d014f6768599077b79a874894e13d317f (patch)
tree89e887abc2714a6e1f336bafaabfa6aeec2dfc0a /railties
parentdc677f7665e5ec74b5a313ba656bba19dc0f853d (diff)
downloadrails-fa8dfc7d014f6768599077b79a874894e13d317f.tar.gz
rails-fa8dfc7d014f6768599077b79a874894e13d317f.tar.bz2
rails-fa8dfc7d014f6768599077b79a874894e13d317f.zip
Raise an exception if an initializer is defined without a block
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/initializable.rb1
-rw-r--r--railties/test/initializable_test.rb10
2 files changed, 11 insertions, 0 deletions
diff --git a/railties/lib/rails/initializable.rb b/railties/lib/rails/initializable.rb
index add10bd207..8fcb254590 100644
--- a/railties/lib/rails/initializable.rb
+++ b/railties/lib/rails/initializable.rb
@@ -93,6 +93,7 @@ module Rails
end
def initializer(name, opts = {}, &blk)
+ raise ArgumentError, "A block must be passed when defining an initializer" unless blk
@initializers ||= []
@initializers << Initializer.new(name, nil, opts, &blk)
end
diff --git a/railties/test/initializable_test.rb b/railties/test/initializable_test.rb
index a9e60680ac..e308cbcb0e 100644
--- a/railties/test/initializable_test.rb
+++ b/railties/test/initializable_test.rb
@@ -150,6 +150,16 @@ module InitializableTests
Word.run_initializers
assert_equal "bird", $word
end
+
+ test "creating initializer without a block raises an error" do
+ assert_raise(ArgumentError) do
+ Class.new do
+ include Rails::Initializable
+
+ initializer :foo
+ end
+ end
+ end
end
class BeforeAfter < ActiveSupport::TestCase