class Wallaby::EngineNameFinder
Service object to find the engine name by given request environment variables.
Public Class Methods
find(env)
click to toggle source
Use script name to find out the corresponding named route and its engine name.
When it can't find the engine name, it will return empty string. Reason is to prevent it from being run again. @param env [Hash, String] request env or script name @return [String] engine name or empty string if not found
# File lib/services/wallaby/engine_name_finder.rb, line 12 def find(env) script_name = env[SCRIPT_NAME] || env[PATH_INFO] if env.is_a? Hash script_name = env if env.is_a? String return EMPTY_STRING if script_name.blank? named_route = Rails.application.routes.routes.find { |route| route.path.match(script_name) } named_route.try(:name) || EMPTY_STRING end