class ActionDispatch::Routing::ConsoleFormatter
def draw_header(routes)
def draw_header(routes) name_width, verb_width, path_width = widths(routes) "#{"Prefix".rjust(name_width)} #{"Verb".ljust(verb_width)} #{"URI Pattern".ljust(path_width)} Controller#Action" end
def draw_section(routes)
def draw_section(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| "#{r[:name].rjust(name_width)} #{r[:verb].ljust(verb_width)} #{r[:path].ljust(path_width)} #{r[:reqs]}" end end
def header(routes)
def header(routes) @buffer << draw_header(routes) end
def initialize
def initialize @buffer = [] end
def no_routes(routes)
def no_routes(routes) @buffer << if routes.none? <<-MESSAGE.strip_heredoc You don't have any routes defined! Please add some routes in config/routes.rb. MESSAGE else "No routes were found for this controller" end @buffer << "For more information about routes, see the Rails guide: http://guides.rubyonrails.org/routing.html." end
def result
def result @buffer.join("\n") end
def section(routes)
def section(routes) @buffer << draw_section(routes) end
def section_title(title)
def section_title(title) @buffer << "\n#{title}:" end
def widths(routes)
def widths(routes) [routes.map { |r| r[:name].length }.max || 0, routes.map { |r| r[:verb].length }.max || 0, routes.map { |r| r[:path].length }.max || 0] end