class ActionDispatch::Routing::ConsoleFormatter - actionpack-4.2.3 Documentation

# 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