Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Make rake routes gracefully handle routes with no name

Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
  • Loading branch information...
commit 600cf8bebc29da3538032ea141d9881a5ead9b1f 1 parent 82b700a
@rubys rubys authored spastorino committed
Showing with 5 additions and 5 deletions.
  1. +5 −5 railties/lib/rails/tasks/routes.rake
View
10 railties/lib/rails/tasks/routes.rake
@@ -13,16 +13,16 @@ task :routes => :environment do
reqs[:to] = route.app unless route.app.class.name.to_s =~ /^ActionDispatch::Routing/
reqs = reqs.empty? ? "" : reqs.inspect
- {:name => route.name, :verb => route.verb.to_s, :path => route.path, :reqs => reqs}
+ {:name => route.name.to_s, :verb => route.verb.to_s, :path => route.path, :reqs => reqs}
end
routes.reject! { |r| r[:path] =~ %r{/rails/info/properties} } # Skip the route if it's internal info route
- name_width = routes.map{ |r| r[:name].length if r[:name] }.max
- verb_width = routes.map{ |r| r[:verb].length if r[:verb] }.max
- path_width = routes.map{ |r| r[:path].length if r[:path] }.max
+ name_width = routes.map{ |r| r[:name].length }.max
+ verb_width = routes.map{ |r| r[:verb].length }.max
+ path_width = routes.map{ |r| r[:path].length }.max
routes.each do |r|
puts "#{r[:name].rjust(name_width)} #{r[:verb].ljust(verb_width)} #{r[:path].ljust(path_width)} #{r[:reqs]}"
end
-end
+end

4 comments on commit 600cf8b

@radar

Could somebody give an example of what this commit fixes?

@spastorino
Owner

rake routes command was not working with wild routes until this commit.
Thanks to the awesome test suite of Sam Ruby this could be fixed just in time ;).

@radar

spastorino: Do you have an example of "wild routes"?

@spastorino
Owner

From the comments of the routes file:

# This is a legacy wild controller route that's not recommended for RESTful applications.
# Note: This route will make all actions in every controller accessible via GET requests.
# match ':controller(/:action(/:id(.:format)))'
Please sign in to comment.
Something went wrong with that request. Please try again.