module Sprockets::Resolve

def resolve_logical_path(paths, logical_path, accept)

Returns Array. Filename, type, path_pipeline, deps, index_alias

Finds a file on the given paths.

e.g. "application/javascript" or "text/css, */*"
mime types that we are looking for. Can be nil.
accept - String. A Quality value incoded set of
e.g. "coffee/foo.js" or "foo.js"
logical_path - String. A filename with extension
paths - Array of Strings.

Internal: Finds a file in a set of given paths
def resolve_logical_path(paths, logical_path, accept)
  extname, mime_type = PathUtils.match_path_extname(logical_path, config[:mime_exts])
  logical_name = logical_path.chomp(extname)
  extname, pipeline = PathUtils.match_path_extname(logical_name, config[:pipeline_exts])
  logical_name = logical_name.chomp(extname)
  parsed_accept = parse_accept_options(mime_type, accept)
  transformed_accepts = expand_transform_accepts(parsed_accept)
  filename, mime_type, deps, index_alias = resolve_under_paths(paths, logical_name, transformed_accepts)
  if filename
    deps << build_file_digest_uri(filename)
    type = resolve_transform_type(mime_type, parsed_accept)
    return filename, type, pipeline, deps, index_alias
  else
    return nil, nil, nil, deps
  end
end