Sha256: 21daa568a8a8a8a9cb554d22e599fe788f06840109a46c8554e91124f04c53a4

Contents?: true

Size: 1.4 KB

Versions: 39

Compression:

Stored size: 1.4 KB

Contents

desc 'Pretty print out all defined routes in match order, with names. Target specific controller with CONTROLLER=x.'

task :pretty_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|
    reqs = route.requirements.empty? ? "" : route.requirements[:controller] + '#' + route.requirements[:action]
    {:name => route.name, :verb => route.verb, :path => route.path, :reqs => reqs}
  end
  if ENV['TEXT']
    filename = 'routes.txt'
    puts "Generating #{filename}"
    File.open(File.join(::Rails.root.to_s, filename), "w") do |f|
      routes_sorted = routes.sort { |a, b| a[:path] <=> b[:path] }
      routes_sorted.each do |r|
        f.puts '||' + [r[:name], r[:verb], r[:path], r[:reqs]].join(' || ') + '||'
      end
    end
  else
    filename = 'routes.html'
    puts "Generating #{filename}"
    File.open(File.join(::Rails.root.to_s, filename), "w") do |f|
      f.puts "<html><head><title>Rails 3 Routes</title></head><body><table border=1>"
      f.puts "<tr><th>Name</th><th>Verb</th><th>Path</th><th>Requirements</th></tr>"
      routes.each do |r|
        f.puts "<tr><td>#{r[:name]}</td><td>#{r[:verb]}</td><td>#{r[:path]}</td><td>#{r[:reqs]}</td></tr>"
      end
      f.puts "</table></body></html>"
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
katello-3.3.2 lib/katello/tasks/pretty_routes.rake
katello-3.3.1.1 lib/katello/tasks/pretty_routes.rake
katello-3.3.1 lib/katello/tasks/pretty_routes.rake
katello-3.3.0.1 lib/katello/tasks/pretty_routes.rake
katello-3.3.0 lib/katello/tasks/pretty_routes.rake
katello-3.3.0.rc2 lib/katello/tasks/pretty_routes.rake
katello-3.3.0.rc1.1 lib/katello/tasks/pretty_routes.rake
katello-3.3.0.rc1 lib/katello/tasks/pretty_routes.rake
katello-3.2.1.1 lib/katello/tasks/pretty_routes.rake
katello-3.2.1 lib/katello/tasks/pretty_routes.rake
katello-3.2.0 lib/katello/tasks/pretty_routes.rake
katello-3.2.0.rc3 lib/katello/tasks/pretty_routes.rake
katello-3.2.0.rc2 lib/katello/tasks/pretty_routes.rake
katello-3.2.0.rc1.1 lib/katello/tasks/pretty_routes.rake
katello-3.2.0.rc1 lib/katello/tasks/pretty_routes.rake
katello-3.1.0.1 lib/katello/tasks/pretty_routes.rake
katello-3.1.0 lib/katello/tasks/pretty_routes.rake
katello-3.1.0.rc2.1 lib/katello/tasks/pretty_routes.rake
katello-3.0.2 lib/katello/tasks/pretty_routes.rake
katello-2.4.5 lib/katello/tasks/pretty_routes.rake