4bdf703ab2
This release upgrades Instiki to Rails 2.3.4, which patches two security holes in Rails. See http://weblog.rubyonrails.org/2009/9/4/ruby-on-rails-2-3-4 There are also some new features, and the usual boatload of bugfixes. See the CHANGELOG for details.
18 lines
1.1 KiB
Ruby
18 lines
1.1 KiB
Ruby
desc 'Print out all defined routes in match order, with names. Target specific controller with CONTROLLER=x.'
|
|
task :routes => :environment do
|
|
all_routes = ENV['CONTROLLER'] ? ActionController::Routing::Routes.routes.select { |route| route.defaults[:controller] == ENV['CONTROLLER'] } : ActionController::Routing::Routes.routes
|
|
routes = all_routes.collect do |route|
|
|
name = ActionController::Routing::Routes.named_routes.routes.index(route).to_s
|
|
verb = route.conditions[:method].to_s.upcase
|
|
segs = route.segments.inject("") { |str,s| str << s.to_s }
|
|
segs.chop! if segs.length > 1
|
|
reqs = route.requirements.empty? ? "" : route.requirements.inspect
|
|
{:name => name, :verb => verb, :segs => segs, :reqs => reqs}
|
|
end
|
|
name_width = routes.collect {|r| r[:name]}.collect {|n| n.length}.max
|
|
verb_width = routes.collect {|r| r[:verb]}.collect {|v| v.length}.max
|
|
segs_width = routes.collect {|r| r[:segs]}.collect {|s| s.length}.max
|
|
routes.each do |r|
|
|
puts "#{r[:name].rjust(name_width)} #{r[:verb].ljust(verb_width)} #{r[:segs].ljust(segs_width)} #{r[:reqs]}"
|
|
end
|
|
end
|