diff options
author | Carlhuda <carlhuda@engineyard.com> | 2009-12-23 13:45:55 -0800 |
---|---|---|
committer | Carlhuda <carlhuda@engineyard.com> | 2009-12-23 15:16:38 -0800 |
commit | fa8dfc7d014f6768599077b79a874894e13d317f (patch) | |
tree | 89e887abc2714a6e1f336bafaabfa6aeec2dfc0a | |
parent | dc677f7665e5ec74b5a313ba656bba19dc0f853d (diff) | |
download | rails-fa8dfc7d014f6768599077b79a874894e13d317f.tar.gz rails-fa8dfc7d014f6768599077b79a874894e13d317f.tar.bz2 rails-fa8dfc7d014f6768599077b79a874894e13d317f.zip |
Raise an exception if an initializer is defined without a block
-rw-r--r-- | railties/lib/rails/initializable.rb | 1 | ||||
-rw-r--r-- | railties/test/initializable_test.rb | 10 |
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 |