diff options
author | Jamis Buck <jamis@37signals.com> | 2006-03-01 16:22:26 +0000 |
---|---|---|
committer | Jamis Buck <jamis@37signals.com> | 2006-03-01 16:22:26 +0000 |
commit | 32e0bebbb95d6f0b62a89c874857e36b2f22c67d (patch) | |
tree | 10a598cfab0508ec243e78ae833d17a260bbd1b6 /railties | |
parent | 6f9ac790113c6e00979cb1cb5608ecba2c1ea130 (diff) | |
download | rails-32e0bebbb95d6f0b62a89c874857e36b2f22c67d.tar.gz rails-32e0bebbb95d6f0b62a89c874857e36b2f22c67d.tar.bz2 rails-32e0bebbb95d6f0b62a89c874857e36b2f22c67d.zip |
Use require instead of load with the integration stuff. Add helper method for creating new sessions.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3721 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties')
-rw-r--r-- | railties/lib/console_app.rb | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/railties/lib/console_app.rb b/railties/lib/console_app.rb index f943d5ab49..6e30b0ef30 100644 --- a/railties/lib/console_app.rb +++ b/railties/lib/console_app.rb @@ -3,11 +3,23 @@ require 'action_controller/integration_test' # work around the at_exit hook in test/unit, which kills IRB Test::Unit.run = true +# have to use :require dependencies mechanism with the integration test stuff, +# or things start acting really wierd from request to request. +Dependencies.mechanism = :require + +# reference the global "app" instance, created on demand. To recreate the +# instance, pass a non-false value as the parameter. def app(create=false) @app_integration_instance = nil if create - unless @app_integration_instance - @app_integration_instance = ActionController::Integration::Session.new - @app_integration_instance.host! "www.example.test" + @app_integration_instance ||= new_session do |sess| + sess.host! "www.example.test" end - @app_integration_instance +end + +# create a new session. If a block is given, the new session will be yielded +# to the block before being returned. +def new_session + session = ActionController::Integration::Session.new + yield session if block_given? + session end
\ No newline at end of file |