Skip to content

Instantly share code, notes, and snippets.

@technicalpickles
Created October 30, 2012 14:24
Show Gist options
  • Save technicalpickles/3980449 to your computer and use it in GitHub Desktop.
Save technicalpickles/3980449 to your computer and use it in GitHub Desktop.
Inspecting defined Rails routes, by controller
1.9.3p194 :032 > user_routes = Authmachine::Application.routes.set.select {|r| r.defaults[:controller] == 'users' }
=> [#<Journey::Route:0x007fecfd1853c0 @name="user", @app=#<ActionDispatch::Routing::RouteSet::Dispatcher:0x007fecfd186bd0 @defaults={:action=>"create", :controller=>"users"}, @glob_param=nil, @controllers={}>, @path=#<Journey::Path::Pattern:0x007fecfd1866d0 @anchored=true, @spec=/user(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, @verb=/^POST$/, @ip=//, @constraints={:request_method=>/^POST$/}, @defaults={:action=>"create", :controller=>"users"}, @required_defaults=nil, @required_parts=nil, @parts=[:format], @decorated_ast=nil, @precedence=2>, #<Journey::Route:0x007fecfd046bf8 @name="new_user", @app=#<ActionDispatch::Routing::RouteSet::Dispatcher:0x007fecfd03ef20 @defaults={:action=>"new", :controller=>"users"}, @glob_param=nil, @controllers={}>, @path=#<Journey::Path::Pattern:0x007fecfd03ebd8 @anchored=true, @spec=/user/new(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, @verb=/^GET$/, @ip=//, @constraints={:request_method=>/^GET$/}, @defaults={:action=>"new", :controller=>"users"}, @required_defaults=nil, @required_parts=nil, @parts=[:format], @decorated_ast=nil, @precedence=3>, #<Journey::Route:0x007fecfd049038 @name="edit_user", @app=#<ActionDispatch::Routing::RouteSet::Dispatcher:0x007fecfd04a7d0 @defaults={:action=>"edit", :controller=>"users"}, @glob_param=nil, @controllers={}>, @path=#<Journey::Path::Pattern:0x007fecfd04a488 @anchored=true, @spec=/user/edit(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, @verb=/^GET$/, @ip=//, @constraints={:request_method=>/^GET$/}, @defaults={:action=>"edit", :controller=>"users"}, @required_defaults=nil, @required_parts=nil, @parts=[:format], @decorated_ast=nil, @precedence=4>, #<Journey::Route:0x007fecfd157f38 @name=nil, @app=#<ActionDispatch::Routing::RouteSet::Dispatcher:0x007fecfd04de58 @defaults={:action=>"show", :controller=>"users"}, @glob_param=nil, @controllers={}>, @path=#<Journey::Path::Pattern:0x007fecfd04db88 @anchored=true, @spec=/user(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, @verb=/^GET$/, @ip=//, @constraints={:request_method=>/^GET$/}, @defaults={:action=>"show", :controller=>"users"}, @required_defaults=nil, @required_parts=nil, @parts=nil, @decorated_ast=nil, @precedence=5>, #<Journey::Route:0x007fecfd155760 @name=nil, @app=#<ActionDispatch::Routing::RouteSet::Dispatcher:0x007fecfd1570d8 @defaults={:action=>"update", :controller=>"users"}, @glob_param=nil, @controllers={}>, @path=#<Journey::Path::Pattern:0x007fecfd156d18 @anchored=true, @spec=/user(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, @verb=/^PUT$/, @ip=//, @constraints={:request_method=>/^PUT$/}, @defaults={:action=>"update", :controller=>"users"}, @required_defaults=nil, @required_parts=nil, @parts=nil, @decorated_ast=nil, @precedence=6>, #<Journey::Route:0x007fecfbfb4920 @name=nil, @app=#<ActionDispatch::Routing::RouteSet::Dispatcher:0x007fecfbfb5cf8 @defaults={:action=>"destroy", :controller=>"users"}, @glob_param=nil, @controllers={}>, @path=#<Journey::Path::Pattern:0x007fecfbfb5a50 @anchored=true, @spec=/user(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, @verb=/^DELETE$/, @ip=//, @constraints={:request_method=>/^DELETE$/}, @defaults={:action=>"destroy", :controller=>"users"}, @required_defaults=nil, @required_parts=nil, @parts=nil, @decorated_ast=nil, @precedence=7>, #<Journey::Route:0x007fecf9c4b880 @name="me", @app=#<ActionDispatch::Routing::RouteSet::Dispatcher:0x007fecf9c44a08 @defaults={:controller=>"users", :action=>"me"}, @glob_param=nil, @controllers={}>, @path=#<Journey::Path::Pattern:0x007fecf9c447b0 @anchored=true, @spec=/me(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, @verb=//, @ip=//, @constraints={}, @defaults={:controller=>"users", :action=>"me"}, @required_defaults=nil, @required_parts=nil, @parts=[:format], @decorated_ast=nil, @precedence=31>]
1.9.3p194 :033 > user_routes.size
=> 7
1.9.3p194 :035 > user_routes.map {|r| r.path }
=> [#<Journey::Path::Pattern:0x007fecfd1866d0 @anchored=true, @spec=/user(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, #<Journey::Path::Pattern:0x007fecfd03ebd8 @anchored=true, @spec=/user/new(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, #<Journey::Path::Pattern:0x007fecfd04a488 @anchored=true, @spec=/user/edit(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, #<Journey::Path::Pattern:0x007fecfd04db88 @anchored=true, @spec=/user(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, #<Journey::Path::Pattern:0x007fecfd156d18 @anchored=true, @spec=/user(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, #<Journey::Path::Pattern:0x007fecfbfb5a50 @anchored=true, @spec=/user(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>, #<Journey::Path::Pattern:0x007fecf9c447b0 @anchored=true, @spec=/me(.:format), @requirements={}, @separators="/.?", @names=["format"], @optional_names=nil, @required_names=nil, @re=nil, @offsets=nil>]
1.9.3p194 :003 > pp user_routes.map {|r| r.defaults }; nil
[{:action=>"create", :controller=>"users"},
{:action=>"new", :controller=>"users"},
{:action=>"edit", :controller=>"users"},
{:action=>"show", :controller=>"users"},
{:action=>"update", :controller=>"users"},
{:action=>"destroy", :controller=>"users"},
{:controller=>"users", :action=>"me"}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment