1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Fix for routes task

This commit fixes formatting issue for `rake routes` task, when a section is shorter than a header.
This commit is contained in:
Sıtkı Bağdat 2013-11-21 01:52:09 +02:00
parent 64b9e93bb5
commit 6701b4cf41
4 changed files with 24 additions and 19 deletions

View file

@ -1,3 +1,7 @@
* Fix formatting for `rake routes` when a section is shorter than a header
*Sıtkı Bağdat*
* Take a hash with options inside array in #url_for * Take a hash with options inside array in #url_for
Example: Example:

View file

@ -179,7 +179,8 @@ module ActionDispatch
private private
def draw_section(routes) def draw_section(routes)
name_width, verb_width, path_width = widths(routes) header_lengths = ['Prefix', 'Verb', 'URI Pattern'].map(&:length)
name_width, verb_width, path_width = widths(routes).zip(header_lengths).map(&:max)
routes.map do |r| routes.map do |r|
"#{r[:name].rjust(name_width)} #{r[:verb].ljust(verb_width)} #{r[:path].ljust(path_width)} #{r[:reqs]}" "#{r[:name].rjust(name_width)} #{r[:verb].ljust(verb_width)} #{r[:path].ljust(path_width)} #{r[:reqs]}"

View file

@ -46,8 +46,8 @@ module ActionDispatch
assert_equal [ assert_equal [
" Prefix Verb URI Pattern Controller#Action", " Prefix Verb URI Pattern Controller#Action",
"custom_assets GET /custom/assets(.:format) custom_assets#show", "custom_assets GET /custom/assets(.:format) custom_assets#show",
" blog /blog Blog::Engine", " blog /blog Blog::Engine",
"", "",
"Routes for Blog::Engine:", "Routes for Blog::Engine:",
"cart GET /cart(.:format) cart#show" "cart GET /cart(.:format) cart#show"
@ -61,7 +61,7 @@ module ActionDispatch
assert_equal [ assert_equal [
"Prefix Verb URI Pattern Controller#Action", "Prefix Verb URI Pattern Controller#Action",
"cart GET /cart(.:format) cart#show" "cart GET /cart(.:format) cart#show"
], output ], output
end end
@ -72,7 +72,7 @@ module ActionDispatch
assert_equal [ assert_equal [
" Prefix Verb URI Pattern Controller#Action", " Prefix Verb URI Pattern Controller#Action",
"custom_assets GET /custom/assets(.:format) custom_assets#show" "custom_assets GET /custom/assets(.:format) custom_assets#show"
], output ], output
end end
@ -101,7 +101,7 @@ module ActionDispatch
assert_equal [ assert_equal [
"Prefix Verb URI Pattern Controller#Action", "Prefix Verb URI Pattern Controller#Action",
"root GET / pages#main" " root GET / pages#main"
], output ], output
end end
@ -112,7 +112,7 @@ module ActionDispatch
assert_equal [ assert_equal [
"Prefix Verb URI Pattern Controller#Action", "Prefix Verb URI Pattern Controller#Action",
" GET /api/:action(.:format) api#:action" " GET /api/:action(.:format) api#:action"
], output ], output
end end
@ -123,7 +123,7 @@ module ActionDispatch
assert_equal [ assert_equal [
"Prefix Verb URI Pattern Controller#Action", "Prefix Verb URI Pattern Controller#Action",
" GET /:controller/:action(.:format) :controller#:action" " GET /:controller/:action(.:format) :controller#:action"
], output ], output
end end
@ -134,7 +134,7 @@ module ActionDispatch
assert_equal [ assert_equal [
"Prefix Verb URI Pattern Controller#Action", "Prefix Verb URI Pattern Controller#Action",
" GET /:controller(/:action(/:id))(.:format) :controller#:action {:id=>/\\d+/}" " GET /:controller(/:action(/:id))(.:format) :controller#:action {:id=>/\\d+/}"
], output ], output
end end
@ -145,7 +145,7 @@ module ActionDispatch
assert_equal [ assert_equal [
"Prefix Verb URI Pattern Controller#Action", "Prefix Verb URI Pattern Controller#Action",
%Q[ GET /photos/:id(.:format) photos#show {:format=>"jpg"}] %Q[ GET /photos/:id(.:format) photos#show {:format=>"jpg"}]
], output ], output
end end
@ -156,7 +156,7 @@ module ActionDispatch
assert_equal [ assert_equal [
"Prefix Verb URI Pattern Controller#Action", "Prefix Verb URI Pattern Controller#Action",
" GET /photos/:id(.:format) photos#show {:id=>/[A-Z]\\d{5}/}" " GET /photos/:id(.:format) photos#show {:id=>/[A-Z]\\d{5}/}"
], output ], output
end end
@ -172,7 +172,7 @@ module ActionDispatch
assert_equal [ assert_equal [
"Prefix Verb URI Pattern Controller#Action", "Prefix Verb URI Pattern Controller#Action",
" GET /foo/:id(.:format) #{RackApp.name} {:id=>/[A-Z]\\d{5}/}" " GET /foo/:id(.:format) #{RackApp.name} {:id=>/[A-Z]\\d{5}/}"
], output ], output
end end
@ -191,7 +191,7 @@ module ActionDispatch
assert_equal [ assert_equal [
"Prefix Verb URI Pattern Controller#Action", "Prefix Verb URI Pattern Controller#Action",
" /foo #{RackApp.name} {:constraint=>( my custom constraint )}" " /foo #{RackApp.name} {:constraint=>( my custom constraint )}"
], output ], output
end end
@ -212,9 +212,9 @@ module ActionDispatch
assert_equal [ assert_equal [
"Prefix Verb URI Pattern Controller#Action", "Prefix Verb URI Pattern Controller#Action",
" foo GET /foo(.:format) redirect(301, /foo/bar) {:subdomain=>\"admin\"}", " foo GET /foo(.:format) redirect(301, /foo/bar) {:subdomain=>\"admin\"}",
" bar GET /bar(.:format) redirect(307, path: /foo/bar)", " bar GET /bar(.:format) redirect(307, path: /foo/bar)",
"foobar GET /foobar(.:format) redirect(301)" "foobar GET /foobar(.:format) redirect(301)"
], output ], output
end end
@ -241,7 +241,7 @@ module ActionDispatch
end end
assert_equal ["Prefix Verb URI Pattern Controller#Action", assert_equal ["Prefix Verb URI Pattern Controller#Action",
" GET /:controller(/:action) (?-mix:api\\/[^\\/]+)#:action"], output " GET /:controller(/:action) (?-mix:api\\/[^\\/]+)#:action"], output
end end
end end
end end

View file

@ -111,7 +111,7 @@ module ApplicationTests
RUBY RUBY
output = Dir.chdir(app_path){ `rake routes` } output = Dir.chdir(app_path){ `rake routes` }
assert_equal "Prefix Verb URI Pattern Controller#Action\ncart GET /cart(.:format) cart#show\n", output assert_equal "Prefix Verb URI Pattern Controller#Action\ncart GET /cart(.:format) cart#show\n", output
end end
def test_rake_routes_with_controller_environment def test_rake_routes_with_controller_environment
@ -124,7 +124,7 @@ module ApplicationTests
ENV['CONTROLLER'] = 'cart' ENV['CONTROLLER'] = 'cart'
output = Dir.chdir(app_path){ `rake routes` } output = Dir.chdir(app_path){ `rake routes` }
assert_equal "Prefix Verb URI Pattern Controller#Action\ncart GET /cart(.:format) cart#show\n", output assert_equal "Prefix Verb URI Pattern Controller#Action\ncart GET /cart(.:format) cart#show\n", output
end end
def test_rake_routes_displays_message_when_no_routes_are_defined def test_rake_routes_displays_message_when_no_routes_are_defined