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)
  name_width, verb_width, path_width = widths(routes)
  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

def no_routes
  @buffer << <<-MESSAGE.strip_heredoc
    You don't have any routes defined!
    Please add some routes in config/routes.rb.
    For more information about routes, see the Rails guide: http://guides.rubyonrails.org/routing.html.
    MESSAGE
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,
   routes.map { |r| r[:verb].length }.max,
   routes.map { |r| r[:path].length }.max]
end