module Roda::RodaPlugins::HashPublic::ClassMethods

  1. lib/roda/plugins/hash_public.rb

Methods

Public Instance

  1. hash_path_digest

Public Instance methods

hash_path_digest(file)

The digest for the given file to use in hash_path.

[show source]
    # File lib/roda/plugins/hash_public.rb
 87 def hash_path_digest(file)
 88   cache = hash_public_cache
 89   mutex = hash_public_mutex
 90   unless digest = mutex.synchronize{cache[file]}
 91     digest = Digest::SHA256.file(File.join(public_root, file)).base64digest
 92     digest.chomp!("=")
 93     digest.tr!("+/", "-_")
 94     if length = hash_public_length
 95       digest = digest[0, length]
 96     end
 97     digest.freeze
 98     mutex.synchronize{cache[file] = digest}
 99   end
100   digest
101 end