class Skippable::FileDigest
Attributes
path[R]
Public Class Methods
new(path:)
click to toggle source
# File lib/skippable/file_digest.rb, line 6 def initialize(path:) @path = path end
Public Instance Methods
changed?()
click to toggle source
# File lib/skippable/file_digest.rb, line 10 def changed? current_digest != cached_digest end
update_cached_digest()
click to toggle source
# File lib/skippable/file_digest.rb, line 14 def update_cached_digest unless File.directory?(File.dirname(cached_digest_path)) FileUtils.mkdir_p(File.dirname(cached_digest_path)) end File.write(cached_digest_path, current_digest) end
Private Instance Methods
cached_digest()
click to toggle source
# File lib/skippable/file_digest.rb, line 30 def cached_digest if File.exist?(cached_digest_path) File.read(cached_digest_path) end end
cached_digest_path()
click to toggle source
# File lib/skippable/file_digest.rb, line 36 def cached_digest_path File.join("tmp", "skippable", path) end
current_digest()
click to toggle source
# File lib/skippable/file_digest.rb, line 26 def current_digest @current_digest ||= Digest::SHA256.file(path).hexdigest end