diff options
author | Jon Moss <me@jonathanmoss.me> | 2016-02-13 22:18:22 -0500 |
---|---|---|
committer | Jon Moss <me@jonathanmoss.me> | 2016-02-22 20:30:18 -0500 |
commit | cd8bb8b6ce96cbfbade45cd5845e5862adf21125 (patch) | |
tree | 880039053dd4da6549b264b0ace6a9f6f1501c54 /actionpack/test/dispatch/routing | |
parent | e7299497871e20c3a28516a4e84fe1789c8795a8 (diff) | |
download | rails-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.rb | 23 |
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 |