Class: RailsAiBridge::Introspectors::RouteIntrospector

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_ai_bridge/introspectors/route_introspector.rb

Overview

Extracts route information from the Rails router including HTTP verb, path, controller#action, declared URL helper, required params, and route constraints.

Defined Under Namespace

Classes: RouteCollection, RouteParser, RoutePresenter

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ RouteIntrospector

Returns a new instance of RouteIntrospector.



11
12
13
14
15
# File 'lib/rails_ai_bridge/introspectors/route_introspector.rb', line 11

def initialize(app)
  @app = app
  # archspec:disable-next-line dependencies.forbid -- FP: RailsAiBridge is the reopened gem namespace; .configuration accessor is not a cross-component dependency
  @config = RailsAiBridge.configuration
end

Instance Attribute Details

#appObject (readonly)

Returns the value of attribute app.



9
10
11
# File 'lib/rails_ai_bridge/introspectors/route_introspector.rb', line 9

def app
  @app
end

#configObject (readonly)

Returns the value of attribute config.



9
10
11
# File 'lib/rails_ai_bridge/introspectors/route_introspector.rb', line 9

def config
  @config
end

Instance Method Details

#callHash

Returns routes grouped by controller.

Returns:

  • (Hash)

    routes grouped by controller



18
19
20
21
22
23
24
# File 'lib/rails_ai_bridge/introspectors/route_introspector.rb', line 18

def call
  routes = extract_routes

  RouteCollection.new(routes).to_h.merge(
    mounted_engines: detect_mounted_engines
  )
end