A stand-alone module for calculating checksums in a generic way.
Is the provided string a checksum?
# File lib/puppet/util/checksums.rb, line 14 def checksum?(string) string =~ /^\{(\w{3,5})\}\S+/ end
# File lib/puppet/util/checksums.rb, line 110 def ctime(content) "" end
Return the :ctime of a file.
# File lib/puppet/util/checksums.rb, line 104 def ctime_file(filename) File.stat(filename).send(:ctime) end
Calculate a checksum using Digest::MD5.
# File lib/puppet/util/checksums.rb, line 29 def md5(content) Digest::MD5.hexdigest(content) end
Calculate a checksum of a file’s content using Digest::MD5.
# File lib/puppet/util/checksums.rb, line 39 def md5_file(filename, lite = false) digest = Digest::MD5.new checksum_file(digest, filename, lite) end
# File lib/puppet/util/checksums.rb, line 49 def md5_stream(&block) digest = Digest::MD5.new yield digest digest.hexdigest end
Calculate a checksum of the first 500 chars of the content using Digest::MD5.
# File lib/puppet/util/checksums.rb, line 34 def md5lite(content) md5(content[0..511]) end
Calculate a checksum of the first 500 chars of a file’s content using Digest::MD5.
# File lib/puppet/util/checksums.rb, line 45 def md5lite_file(filename) md5_file(filename, true) end
# File lib/puppet/util/checksums.rb, line 70 def mtime(content) "" end
Return the :mtime timestamp of a file.
# File lib/puppet/util/checksums.rb, line 58 def mtime_file(filename) File.stat(filename).send(:mtime) end
by definition this doesn’t exist but we still need to execute the block given
# File lib/puppet/util/checksums.rb, line 64 def mtime_stream noop_digest = FakeChecksum.new yield noop_digest nil end
# File lib/puppet/util/checksums.rb, line 125 def none(content) "" end
Return a “no checksum”
# File lib/puppet/util/checksums.rb, line 115 def none_file(filename) "" end
# File lib/puppet/util/checksums.rb, line 119 def none_stream noop_digest = FakeChecksum.new yield noop_digest "" end
Calculate a checksum using Digest::SHA1.
# File lib/puppet/util/checksums.rb, line 75 def sha1(content) Digest::SHA1.hexdigest(content) end
Calculate a checksum of a file’s content using Digest::SHA1.
# File lib/puppet/util/checksums.rb, line 85 def sha1_file(filename, lite = false) digest = Digest::SHA1.new checksum_file(digest, filename, lite) end
# File lib/puppet/util/checksums.rb, line 95 def sha1_stream digest = Digest::SHA1.new yield digest digest.hexdigest end
Calculate a checksum of the first 500 chars of the content using Digest::SHA1.
# File lib/puppet/util/checksums.rb, line 80 def sha1lite(content) sha1(content[0..511]) end
Calculate a checksum of the first 500 chars of a file’s content using Digest::SHA1.
# File lib/puppet/util/checksums.rb, line 91 def sha1lite_file(filename) sha1_file(filename, true) end
Strip the checksum type from an existing checksum
# File lib/puppet/util/checksums.rb, line 19 def sumdata(checksum) checksum =~ /^\{(\w+)\}(.+)/ ? $2 : nil end
Strip the checksum type from an existing checksum
# File lib/puppet/util/checksums.rb, line 24 def sumtype(checksum) checksum =~ /^\{(\w+)\}/ ? $1 : nil end