diff options
Diffstat (limited to 'railties/lib/rails/console/app.rb')
-rw-r--r-- | railties/lib/rails/console/app.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/railties/lib/rails/console/app.rb b/railties/lib/rails/console/app.rb new file mode 100644 index 0000000000..2a69c26deb --- /dev/null +++ b/railties/lib/rails/console/app.rb @@ -0,0 +1,32 @@ +require 'active_support/all' +require 'action_controller' + +module Rails + module ConsoleMethods + # 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 + @app_integration_instance ||= new_session do |sess| + sess.host! "www.example.com" + end + 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 + app = Rails.application + session = ActionDispatch::Integration::Session.new(app) + yield session if block_given? + session + end + + # reloads the environment + def reload!(print=true) + puts "Reloading..." if print + ActionDispatch::Reloader.cleanup! + ActionDispatch::Reloader.prepare! + true + end + end +end |