class Bootsnap::LoadPathCache::RealpathCache
def call(*key)
def call(*key) @cache[key] end
def find_file(name)
def find_file(name) return File.realpath(name).freeze if File.exist?(name) CACHED_EXTENSIONS.each do |ext| filename = "#{name}#{ext}" return File.realpath(filename).freeze if File.exist?(filename) end name end
def initialize
def initialize @cache = Hash.new { |h, k| h[k] = realpath(*k) } end
def realpath(caller_location, path)
def realpath(caller_location, path) base = File.dirname(caller_location) abspath = File.expand_path(path, base).freeze find_file(abspath) end