module WebMock
def self.net_connect_explicit_allowed?(allowed, uri=nil)
def self.net_connect_explicit_allowed?(allowed, uri=nil) case allowed when Array allowed.any? { |allowed_item| net_connect_explicit_allowed?(allowed_item, uri) } when Regexp (uri.to_s =~ allowed) != nil || (uri.omit(:port).to_s =~ allowed) != nil && uri.port == uri.default_port when String allowed == uri.to_s || allowed == uri.host || allowed == "#{uri.host}:#{uri.port}" || allowed == "#{uri.scheme}://#{uri.host}:#{uri.port}" || allowed == "#{uri.scheme}://#{uri.host}" && uri.port == uri.default_port else if allowed.respond_to?(:call) allowed.call(uri) end end end