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
# File 'lib/rails_ai_bridge/introspectors/route_introspector.rb', line 11

def initialize(app)
  @app = app
  @config = RailsAiBridge.configuration
end

Instance Attribute Details

#app ⇒ Object (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

#config ⇒ Object (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

#call ⇒ Hash

Returns routes grouped by controller.

Returns:

  • (Hash) —

    routes grouped by controller



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

def call
  routes = extract_routes

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