diff options
author | Arthur Nogueira Neves <github@arthurnn.com> | 2015-11-28 11:29:46 -0500 |
---|---|---|
committer | Arthur Nogueira Neves <github@arthurnn.com> | 2015-11-28 11:29:46 -0500 |
commit | 3513f80e534da1f22537539b172caf8ced46fe63 (patch) | |
tree | 62fb1293906f7c993852ac4e1be323df164868de /actionpack/lib/action_dispatch | |
parent | 5217db2a7acb80b18475709018088535bdec6d30 (diff) | |
parent | f8f7e66f5fe393136755ebd00c49cf4081a5dc12 (diff) | |
download | rails-3513f80e534da1f22537539b172caf8ced46fe63.tar.gz rails-3513f80e534da1f22537539b172caf8ced46fe63.tar.bz2 rails-3513f80e534da1f22537539b172caf8ced46fe63.zip |
Merge pull request #22371 from yui-knk/better_mount_error
Brush up errors of `ActionDispatch::Routing::Mapper#mount`
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/mapper.rb | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index 7c0404ca62..e676c837b4 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -600,17 +600,20 @@ module ActionDispatch def mount(app, options = nil) if options path = options.delete(:at) - else - unless Hash === app - raise ArgumentError, "must be called with mount point" - end - + elsif Hash === app options = app app, path = options.find { |k, _| k.respond_to?(:call) } options.delete(app) if app end - raise "A rack application must be specified" unless path + raise ArgumentError, "A rack application must be specified" unless app.respond_to?(:call) + raise ArgumentError, <<-MSG.strip_heredoc unless path + Must be called with mount point + + mount SomeRackApp, at: "some_route" + or + mount(SomeRackApp => "some_route") + MSG rails_app = rails_app? app options[:as] ||= app_name(app, rails_app) |