module Sprockets::PathUtils
def find_matching_path_for_extensions(path, basename, extensions)
# => ["app/assets/application.js", "application/javascript"]
find_matching_path_for_extensions("app/assets", "application", exts)
exts = { ".js" => "application/javascript" }
Examples
extensions - Hash of String extnames to values
basename - String basename of target file
path - String directory
Internal: Match paths in a directory against available extensions.
def find_matching_path_for_extensions(path, basename, extensions) matches = [] entries(path).each do |entry| next unless File.basename(entry).start_with?(basename) extname, value = match_path_extname(entry, extensions) if basename == entry.chomp(extname) filename = File.join(path, entry) if file?(filename) matches << [filename, value] end end end matches end