class VCR::RequestMatcherRegistry::URIWithoutParamsMatcher

@private

Public Instance Methods

call(request_1, request_2) click to toggle source
# File lib/vcr/request_matcher_registry.rb, line 37
def call(request_1, request_2)
  partial_uri_from(request_1) == partial_uri_from(request_2)
end
partial_uri_from(request) click to toggle source
# File lib/vcr/request_matcher_registry.rb, line 20
def partial_uri_from(request)
  request.parsed_uri.tap do |uri|
    return request.uri unless uri.query # ignore uris without params, e.g. "http://example.com/"

    uri.query = uri.query.split('&').tap { |params|
      params.map! do |p|
        key, value = p.split('=')
        key.gsub!(/\[\]\z/, '') # handle params like tag[]=
        [key, value]
      end

      params.reject! { |p| params_to_ignore.include?(p.first) }
      params.map!    { |p| p.join('=') }
    }.join('&')
  end
end
to_proc() click to toggle source
# File lib/vcr/request_matcher_registry.rb, line 41
def to_proc
  lambda { |r1, r2| call(r1, r2) }
end