def [](url)
      # normalize the url
      url = URI(url)

      key = [url.scheme, url.host, url.port]
      paths = @credentials[key]

      return nil unless paths

      # longest path first
      ordered_paths = paths.keys.sort_by { |path_key| -path_key.length }

      # directories of the path
      path_dirs = URI.expand_path(url.path).split('/')

      ordered_paths.each do |path|
        return paths[path] if path_dirs[0,path.length] == path
      end

      return nil
    end
def [](url)
      
      url = URI(url)

      key = [url.scheme, url.host, url.port]
      paths = @credentials[key]

      return nil unless paths

      
      ordered_paths = paths.keys.sort_by { |path_key| -path_key.length }

      
      path_dirs = URI.expand_path(url.path).split('/')

      ordered_paths.each do |path|
        return paths[path] if path_dirs[0,path.length] == path
      end

      return nil
    end
def [] ( url ) # normalize the url url = URI ( url ) key = [ url . scheme , url . host , url . port ] paths = @credentials [ key ] return nil unless paths # longest path first ordered_paths = paths . keys . sort_by { | path_key | - path_key . length } # directories of the path path_dirs = URI . expand_path ( url . path ) . split ( '/' ) ordered_paths . each do | path | return paths [ path ] if path_dirs [ 0 , path . length ] == path end return nil end
Creates a new auth store.

 @since 0.2.2


 Given a URL, return the most specific matching auth credential.

 @param [URI] url
   A fully qualified url including optional path.

 @return [AuthCredential, nil]
   Closest matching {AuthCredential} values for the URL,
   or `nil` if nothing matches.

 @since 0.2.2
Creates a new auth store .