Class: RailsAiBridge::Introspectors::RouteIntrospector
- Inherits:
-
Object
- Object
- RailsAiBridge::Introspectors::RouteIntrospector
- 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
-
#app ⇒ Object
readonly
Returns the value of attribute app.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
-
#call ⇒ Hash
Routes grouped by controller.
-
#initialize(app) ⇒ RouteIntrospector
constructor
A new instance of RouteIntrospector.
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
#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.
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 |