module Sprockets::PathDigestUtils
Internal: Crossover of path and digest utilities functions.
Public Instance Methods
file_digest(path)
click to toggle source
Internal: Compute digest for path.
path - String filename or directory path.
Returns String digest bytes or nil.
# File lib/sprockets/path_digest_utils.rb, line 32 def file_digest(path) if stat = self.stat(path) self.stat_digest(path, stat) end end
files_digest(paths)
click to toggle source
Internal: Compute digest for a set of paths.
paths - Array of filename or directory paths.
Returns String digest bytes.
# File lib/sprockets/path_digest_utils.rb, line 43 def files_digest(paths) self.digest(paths.map { |path| self.file_digest(path) }) end
stat_digest(path, stat)
click to toggle source
Internal: Compute digest for file stat.
path - String filename stat - File::Stat
Returns String digest bytes.
# File lib/sprockets/path_digest_utils.rb, line 15 def stat_digest(path, stat) if stat.directory? # If its a directive, digest the list of filenames digest_class.digest(self.entries(path).join(',')) elsif stat.file? # If its a file, digest the contents digest_class.file(path.to_s).digest else raise TypeError, "stat was not a directory or file: #{stat.ftype}" end end