class Chef::Digester
Public Class Methods
Source
# File lib/chef/digester.rb, line 29 def self.checksum_for_file(*args) instance.checksum_for_file(*args) end
Source
# File lib/chef/digester.rb, line 49 def self.generate_md5_checksum_for_file(*args) instance.generate_md5_checksum_for_file(*args) end
Public Instance Methods
Source
# File lib/chef/digester.rb, line 37 def checksum_for_file(file) generate_checksum(file) end
Source
# File lib/chef/digester.rb, line 41 def generate_checksum(file) if file.is_a?(StringIO) checksum_io(file, OpenSSL::Digest.new("SHA256")) else checksum_file(file, OpenSSL::Digest.new("SHA256")) end end
Source
# File lib/chef/digester.rb, line 57 def generate_md5_checksum(io) checksum_io(io, ::Digest::MD5.new) end
Source
# File lib/chef/digester.rb, line 53 def generate_md5_checksum_for_file(file) checksum_file(file, ::Digest::MD5.new) end
Source
# File lib/chef/digester.rb, line 33 def validate_checksum(*args) self.class.validate_checksum(*args) end
Private Instance Methods
Source
# File lib/chef/digester.rb, line 63 def checksum_file(file, digest) File.open(file, "rb") { |f| checksum_io(f, digest) } end
Source
# File lib/chef/digester.rb, line 67 def checksum_io(io, digest) while chunk = io.read(1024 * 8) digest.update(chunk) end digest.hexdigest end