diff options
author | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2015-06-05 16:30:54 +0900 |
---|---|---|
committer | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2015-06-05 18:38:53 +0900 |
commit | 4fded7c069c4fc0ea0909ebc86a624bce25eb3f5 (patch) | |
tree | 300f00be83476ed8ef5d770d87a39cf4a6dc63cd | |
parent | 6c4416183454cc75ee4dbed107fe7370c69fc37d (diff) | |
download | rails-4fded7c069c4fc0ea0909ebc86a624bce25eb3f5.tar.gz rails-4fded7c069c4fc0ea0909ebc86a624bce25eb3f5.tar.bz2 rails-4fded7c069c4fc0ea0909ebc86a624bce25eb3f5.zip |
modify console of app method in that can use the path helpers
-rw-r--r-- | railties/lib/rails/console/app.rb | 5 | ||||
-rw-r--r-- | railties/test/application/console_test.rb | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/railties/lib/rails/console/app.rb b/railties/lib/rails/console/app.rb index 2a69c26deb..ac5836a588 100644 --- a/railties/lib/rails/console/app.rb +++ b/railties/lib/rails/console/app.rb @@ -18,6 +18,11 @@ module Rails app = Rails.application session = ActionDispatch::Integration::Session.new(app) yield session if block_given? + + # This makes app.url_for and app.foo_path available in the console + session.extend(app.routes.url_helpers) + session.extend(app.routes.mounted_helpers) + session end diff --git a/railties/test/application/console_test.rb b/railties/test/application/console_test.rb index 31bc003dcb..7bf123d12b 100644 --- a/railties/test/application/console_test.rb +++ b/railties/test/application/console_test.rb @@ -29,6 +29,18 @@ class ConsoleTest < ActiveSupport::TestCase assert_instance_of ActionDispatch::Integration::Session, console_session end + def test_app_can_access_path_helper_method + app_file 'config/routes.rb', <<-RUBY + Rails.application.routes.draw do + get 'foo', to: 'foo#index' + end + RUBY + + load_environment + console_session = irb_context.app + assert_equal '/foo', console_session.foo_path + end + def test_new_session_should_return_integration_session load_environment session = irb_context.new_session |