def matches
      @_matches ||= begin
        to_match = request.unmatched_path
        to_match = to_match.chomp('/') if config[:strip_trailing_slash] == :ignore && to_match =~ %r{./$}
        mappings.map { |mapping|
          mapping[:pattern].match(to_match) do |match_data|
            if match_data.pre_match == ''
              if match_data.names.empty?
                captures = match_data.captures
              else
                captures = Hash[match_data.names.map {|v| v.to_sym}.zip(match_data.captures)]
                captures.each do |k,v|
                  captures[k] = symbol_matchers[k][1].call(v) if Array === symbol_matchers[k]
                end
              end
              Match.new(mapping, captures, match_data.to_s, check_for_failed_condition(mapping[:conditions]))
            end
          end
        }.compact
      end
    end
def matches
      @_matches ||= begin
        to_match = request.unmatched_path
        to_match = to_match.chomp('/') if config[:strip_trailing_slash] == :ignore && to_match =~ %r{./$}
        mappings.map { |mapping|
          mapping[:pattern].match(to_match) do |match_data|
            if match_data.pre_match == ''
              if match_data.names.empty?
                captures = match_data.captures
              else
                captures = Hash[match_data.names.map {|v| v.to_sym}.zip(match_data.captures)]
                captures.each do |k,v|
                  captures[k] = symbol_matchers[k][1].call(v) if Array === symbol_matchers[k]
                end
              end
              Match.new(mapping, captures, match_data.to_s, check_for_failed_condition(mapping[:conditions]))
            end
          end
        }.compact
      end
    end
Finds mappings that match the unmatched portion of the request path, returning an array of `Match` objects, or an
 empty array if no matches were found.

 The `:eligable` attribute of the `Match` object indicates whether the conditions for that mapping passed.
 The result is cached for the life time of the controller instance, for the sake of effecient recalling.