Class: RailsVisualizer::RoutesInspector

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_visualizer/routes_inspector.rb

Constant Summary collapse

INTERNAL_PREFIXES =

Controllers served by Rails framework / engines — not user-defined code.

%w[
  rails/
  active_storage
  action_mailbox
  action_text
  turbo/
  cable/
].freeze

Instance Method Summary collapse

Constructor Details

#initialize(excluded_paths: []) ⇒ RoutesInspector

Returns a new instance of RoutesInspector.



15
16
17
# File 'lib/rails_visualizer/routes_inspector.rb', line 15

def initialize(excluded_paths: [])
  @excluded_paths = excluded_paths
end

Instance Method Details

#callObject



19
20
21
22
23
24
25
26
# File 'lib/rails_visualizer/routes_inspector.rb', line 19

def call
  Rails.application.routes.routes
       .select { |r| r.defaults[:controller].present? && r.verb.present? }
       .reject { |r| excluded_path?(r.path.spec.to_s) }
       .map { |r| serialize_route(r) }
rescue StandardError
  []
end