method

query

Importance_0
query(path, exts, _, _) 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/testing/resolvers.rb, line 22
      def query(path, exts, _, _)
        query = ""
        EXTENSIONS.each_key do |ext|
          query << "(" << exts[ext].map { |e| e && Regexp.escape(".#{e}") }.join("|") << "|)"
        end
        query = /^(#{Regexp.escape(path)})#{query}$/

        templates = []
        @hash.each do |_path, array|
          source, updated_at = array
          next unless query.match?(_path)
          handler, format, variant = extract_handler_and_format_and_variant(_path)
          templates << Template.new(source, _path, handler,
            virtual_path: path.virtual,
            format: format,
            variant: variant,
            updated_at: updated_at
          )
        end

        templates.sort_by { |t| -t.identifier.match(/^#{query}$/).captures.reject(&:blank?).size }
      end
Register or log in to add new notes.