method
no_routes
Ruby on Rails latest stable (v7.1.3.2)
-
0 notes -
Class: Base
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- What's this?
no_routes(routes, filter)
public
Hide source
# File actionpack/lib/action_dispatch/routing/inspector.rb, line 172 def no_routes(routes, filter) @buffer << if routes.none? <<~MESSAGE You don't have any routes defined! Please add some routes in config/routes.rb. MESSAGE elsif filter.key?(:controller) "No routes were found for this controller." elsif filter.key?(:grep) "No routes were found for this grep pattern." end @buffer << "For more information about routes, see the Rails guide: https://guides.rubyonrails.org/routing.html." end end class Sheet < Base def section_title(title) @buffer << "\n#{title}:" end def section(routes) @buffer << draw_section(routes) end def header(routes) @buffer << draw_header(routes) end private 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 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 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 end class Expanded < Base def initialize(width: IO.console_size[1]) @width = width super() end def section_title(title) @buffer << "\n#{"[ #{title} ]"}" end def section(routes) @buffer << draw_expanded_section(routes) end private def draw_expanded_section(routes) routes.map.each_with_index do |r, i| route_rows = <<~MESSAGE.chomp #{route_header(index: i + 1)} Prefix | #{r[:name]} Verb | #{r[:verb]} URI | #{r[:path]} Controller#Action | #{r[:reqs]} MESSAGE source_location = "\nSource Location | #{r[:source_location]}" route_rows += source_location if r[:source_location].present? route_rows end end def route_header(index:) "--[ Route #{index} ]".ljust(@width, "-") end end class Unused < Sheet def header(routes) @buffer << <<~MSG Found #{routes.count} unused #{"route".pluralize(routes.count)}: MSG super end def no_routes(routes, filter) @buffer << if filter.none? "No unused routes found." elsif filter.key?(:controller) "No unused routes found for this controller." elsif filter.key?(:grep) "No unused routes found for this grep pattern." end end end end class HtmlTableFormatter def initialize(view) @view = view @buffer = [] end def section_title(title) @buffer << %(<tr><th colspan="4">#{title}</th></tr>) end def section(routes) @buffer << @view.render(partial: "routes/route", collection: routes) end # The header is part of the HTML page, so we don't construct it here. def header(routes) end def no_routes(*) @buffer << <<~MESSAGE <p>You don't have any routes defined!</p> <ul> <li>Please add some routes in <tt>config/routes.rb</tt>.</li> <li> For more information about routes, please see the Rails guide <a href="https://guides.rubyonrails.org/routing.html">Rails Routing from the Outside In</a>. </li> </ul> MESSAGE end def result @view.raw @view.render(layout: "routes/table") { @view.raw @buffer.join("\n") } end end end end