module ActionDispatchJourneyRouterWithFiltering

Public Instance Methods

find_routes(env) click to toggle source
Calls superclass method
# File lib/routing_filter/adapters/routers/journey.rb, line 2
def find_routes(env)
  path = env.is_a?(Hash) ? env['PATH_INFO'] : env.path_info
  filter_parameters = {}
  original_path = path.dup

  @routes.filters.run(:around_recognize, path, env) do
    filter_parameters
  end

  super(env).map do |match, parameters, route|
    [ match, parameters.merge(filter_parameters), route ]
  end.tap do |match, parameters, route|
    # restore the original path
    if env.is_a?(Hash)
      env['PATH_INFO'] = original_path
    else
      env.path_info = original_path
    end
  end
end