diff options
author | kennyj <kennyj@gmail.com> | 2012-05-29 23:31:27 +0900 |
---|---|---|
committer | Ben Holley <benolee@gmail.com> | 2012-12-16 00:06:43 -0600 |
commit | 38af3540ae53b9f2fbdb649a68cde3edf182fe67 (patch) | |
tree | 98ce599950855ef8e08d8aef7f7cf2769f478a8f /railties/test/application/rake_test.rb | |
parent | df048b574b5ab5a449a3b1dfc50dbf3baa18869e (diff) | |
download | rails-38af3540ae53b9f2fbdb649a68cde3edf182fe67.tar.gz rails-38af3540ae53b9f2fbdb649a68cde3edf182fe67.tar.bz2 rails-38af3540ae53b9f2fbdb649a68cde3edf182fe67.zip |
backport runner fixes to 3-2-stable
Add a runner hook to Rails::Application and Rails::Engine that requires
ActiveRecord::Base to avoid circular constant loading when using observers.
This commit backports cc7dd66, c0ba0f0 and 8d01c61.
Diffstat (limited to 'railties/test/application/rake_test.rb')
-rw-r--r-- | railties/test/application/rake_test.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/railties/test/application/rake_test.rb b/railties/test/application/rake_test.rb index ab9084df55..ddabe2f07c 100644 --- a/railties/test/application/rake_test.rb +++ b/railties/test/application/rake_test.rb @@ -162,5 +162,27 @@ module ApplicationTests end end end + + def test_load_activerecord_base_when_we_use_observers + Dir.chdir(app_path) do + `bundle exec rails g model user; + bundle exec rake db:migrate; + bundle exec rails g observer user;` + + add_to_config "config.active_record.observers = :user_observer" + + assert_equal "0", `bundle exec rails r "puts User.count"`.strip + + app_file "lib/tasks/count_user.rake", <<-RUBY + namespace :user do + task :count => :environment do + puts User.count + end + end + RUBY + + assert_equal "0", `bundle exec rake user:count`.strip + end + end end end |