aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch/routing
diff options
context:
space:
mode:
authorJon Moss <me@jonathanmoss.me>2016-02-13 22:18:22 -0500
committerJon Moss <me@jonathanmoss.me>2016-02-22 20:30:18 -0500
commitcd8bb8b6ce96cbfbade45cd5845e5862adf21125 (patch)
tree880039053dd4da6549b264b0ace6a9f6f1501c54 /actionpack/test/dispatch/routing
parente7299497871e20c3a28516a4e84fe1789c8795a8 (diff)
downloadrails-cd8bb8b6ce96cbfbade45cd5845e5862adf21125.tar.gz
rails-cd8bb8b6ce96cbfbade45cd5845e5862adf21125.tar.bz2
rails-cd8bb8b6ce96cbfbade45cd5845e5862adf21125.zip
Add `internal` attribute to routes
This is meant to provide a way for Action Cable, Sprockets, and possibly other Rack applications to mark themselves as internal, and to exclude themselves from the routing inspector, and thus `rails routes` / `rake routes`. I think this is the only way to have mounted Rack apps be marked as internal, within AD/Journey. Another option would be to create an array of regexes for internal apps, and then to iterate over that everytime a request comes through. Also, I only had the first `add_route` method set `internal`'s default to false, to avoid littering it all over the codebase.
Diffstat (limited to 'actionpack/test/dispatch/routing')
-rw-r--r--actionpack/test/dispatch/routing/inspector_test.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/routing/inspector_test.rb b/actionpack/test/dispatch/routing/inspector_test.rb
index f72a87b994..fd85cc6e9f 100644
--- a/actionpack/test/dispatch/routing/inspector_test.rb
+++ b/actionpack/test/dispatch/routing/inspector_test.rb
@@ -389,6 +389,29 @@ module ActionDispatch
], output
end
+ def test_displaying_routes_for_internal_engines
+ engine = Class.new(Rails::Engine) do
+ def self.inspect
+ "Blog::Engine"
+ end
+ end
+ engine.routes.draw do
+ get '/cart', to: 'cart#show'
+ post '/cart', to: 'cart#create'
+ patch '/cart', to: 'cart#update'
+ end
+
+ output = draw do
+ get '/custom/assets', to: 'custom_assets#show'
+ mount engine => "/blog", as: "blog", internal: true
+ end
+
+ assert_equal [
+ " Prefix Verb URI Pattern Controller#Action",
+ "custom_assets GET /custom/assets(.:format) custom_assets#show",
+ ], output
+ end
+
end
end
end