aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorArthur Nogueira Neves <github@arthurnn.com>2015-11-28 11:29:46 -0500
committerArthur Nogueira Neves <github@arthurnn.com>2015-11-28 11:29:46 -0500
commit3513f80e534da1f22537539b172caf8ced46fe63 (patch)
tree62fb1293906f7c993852ac4e1be323df164868de /actionpack/lib
parent5217db2a7acb80b18475709018088535bdec6d30 (diff)
parentf8f7e66f5fe393136755ebd00c49cf4081a5dc12 (diff)
downloadrails-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')
-rw-r--r--actionpack/lib/action_dispatch/routing/mapper.rb15
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)