Class: RailsContractSync::Runtime::RouteResolver
- Inherits:
-
Object
- Object
- RailsContractSync::Runtime::RouteResolver
- Defined in:
- lib/rails_contract_sync/runtime/route_resolver.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(route_set) ⇒ RouteResolver
constructor
A new instance of RouteResolver.
Constructor Details
#initialize(route_set) ⇒ RouteResolver
Returns a new instance of RouteResolver.
4 5 6 |
# File 'lib/rails_contract_sync/runtime/route_resolver.rb', line 4 def initialize(route_set) @routes = Static::RouteExtractor.new(route_set).extract end |
Instance Method Details
#call(env) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/rails_contract_sync/runtime/route_resolver.rb', line 8 def call(env) params = env["action_dispatch.request.path_parameters"] return nil unless params controller = params[:controller] action = params[:action] match = @routes.find do |r| r[:controller] == controller && r[:action] == action && r[:verb] == env["REQUEST_METHOD"] end match&.fetch(:path) end |