Use Digest#file if it's available

This commit is contained in:
Jack Nagel 2014-06-11 12:05:19 -05:00
parent c0e0bd2984
commit 93d8e71641

View File

@ -244,11 +244,15 @@ class Pathname
%r[^#!\s*\S+] === open('r') { |f| f.read(1024) }
end
def incremental_hash(hasher)
incr_hash = hasher.new
buf = ""
open('rb') { |f| incr_hash << buf while f.read(1024, buf) }
incr_hash.hexdigest
def incremental_hash(klass)
digest = klass.new
if digest.respond_to?(:file)
digest.file(self)
else
buf = ""
open("rb") { |f| digest << buf while f.read(1024, buf) }
end
digest.hexdigest
end
def sha1