class WebMock::RequestPattern

def create_uri_pattern(uri)

def create_uri_pattern(uri)
  if uri.is_a?(Regexp)
    URIRegexpPattern.new(uri)
  elsif uri.is_a?(Addressable::Template)
    URIAddressablePattern.new(uri)
  elsif uri.respond_to?(:call)
    URICallablePattern.new(uri)
  elsif uri.is_a?(::URI::Generic)
    URIStringPattern.new(uri.to_s)
  elsif uri.is_a?(String)
    URIStringPattern.new(uri)
  else
    raise ArgumentError.new("URI should be a String, Regexp, Addressable::Template or a callable object. Got: #{uri.class}")
  end
end