class ActionDispatch::Routing::ConsoleFormatter

Public Class Methods

new() click to toggle source
# File lib/action_dispatch/routing/inspector.rb, line 143
def initialize
  @buffer = []
end

Public Instance Methods

header(routes) click to toggle source
# File lib/action_dispatch/routing/inspector.rb, line 159
def header(routes)
  @buffer << draw_header(routes)
end
no_routes() click to toggle source
# File lib/action_dispatch/routing/inspector.rb, line 163
      def no_routes
        @buffer << "          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.
".strip_heredoc
      end
result() click to toggle source
# File lib/action_dispatch/routing/inspector.rb, line 147
def result
  @buffer.join("\n")
end
section(routes) click to toggle source
# File lib/action_dispatch/routing/inspector.rb, line 155
def section(routes)
  @buffer << draw_section(routes)
end
section_title(title) click to toggle source
# File lib/action_dispatch/routing/inspector.rb, line 151
def section_title(title)
  @buffer << "\n#{title}:"
end

Private Instance Methods

draw_header(routes) click to toggle source
# File lib/action_dispatch/routing/inspector.rb, line 183
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
draw_section(routes) click to toggle source
# File lib/action_dispatch/routing/inspector.rb, line 174
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
widths(routes) click to toggle source
# File lib/action_dispatch/routing/inspector.rb, line 189
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