Sha256: 6f9effd9d51b9162128a20bc28687feef68fc6904c4db53d76556028dcf2c8d3
Contents?: true
Size: 1.36 KB
Versions: 1
Compression:
Stored size: 1.36 KB
Contents
desc 'Pretty version on rails rake routes.' EMK="\033[1;30m" EMR="\033[1;31m" EMG="\033[1;32m" EMY="\033[1;33m" EMB="\033[1;34m" EMM="\033[1;35m" EMC="\033[1;36m" EMW="\033[1;37m" NOCOLOR = "\033[0m" task :color_routes => :environment do Rails.application.reload_routes! all_routes = Rails.application.routes.routes.to_a all_routes.reject! {|route| route.verb == nil or route.path.spec.to_s == '/assets'} names_max_width = all_routes.map {|route| route.name.to_s.length}.max verbs_max_width = 6 paths_max_width = all_routes.map {|route| route.path.spec.to_s.length}.max controllers_max_width = all_routes.map {|route| route.defaults[:controller].length}.max actions_max_width = all_routes.map {|route| route.defaults[:action].length}.max all_routes.group_by {|route| route.defaults[:controller]}.each_value do |group| puts EMK + "\nCONTROLLER: " + EMW + group.first.defaults[:controller] + NOCOLOR group.each do |route| name = EMC + route.name.to_s.rjust(names_max_width) + NOCOLOR verb = EMY + route.verb.inspect.gsub(/^.{2}|.{2}$/,"").center(verbs_max_width) + NOCOLOR path = EMR + route.path.spec.to_s.ljust(paths_max_width).gsub(/(\.?:[^\(\)\/]+)/){EMB + $1 + EMR} + NOCOLOR action = EMW + route.defaults[:action].ljust(actions_max_width) + NOCOLOR puts "|#{name}|#{verb}|#{path}|#{action}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
color_routes-1.0.0 | lib/color_routes/rails/tasks/color_routes.rake |