Flowdock
method

find_template_paths_from_details

Importance_0
Ruby on Rails latest stable (v6.1.7.7) - 0 notes - Class: OptimizedFileSystemResolver
find_template_paths_from_details(path, details) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File actionview/lib/action_view/template/resolver.rb, line 359
      def find_template_paths_from_details(path, details)
        if path.name.include?(".")
          # Fall back to the unoptimized resolver, which will warn
          return super
        end

        candidates = find_candidate_template_paths(path)

        regex = build_regex(path, details)

        candidates.uniq.reject do |filename|
          # This regex match does double duty of finding only files which match
          # details (instead of just matching the prefix) and also filtering for
          # case-insensitive file systems.
          !regex.match?(filename) ||
            File.directory?(filename)
        end.sort_by do |filename|
          # Because we scanned the directory, instead of checking for files
          # one-by-one, they will be returned in an arbitrary order.
          # We can use the matches found by the regex and sort by their index in
          # details.
          match = filename.match(regex)
          EXTENSIONS.keys.map do |ext|
            if ext == :variants && details[ext] == :any
              match[ext].nil? ? 0 : 1
            elsif match[ext].nil?
              # No match should be last
              details[ext].length
            else
              found = match[ext].to_sym
              details[ext].index(found)
            end
          end
        end
      end
Register or log in to add new notes.