diff --git a/ChangeLog b/ChangeLog index c0b9ae662d..d604b1fa01 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Sep 14 14:37:45 2006 Tanaka Akira + + * ext/digest/lib/digest.rb (Digest::Base.file): new method. + [ruby-dev:29572] + Thu Sep 14 08:30:02 2006 Tanaka Akira * ext/digest/digest.c (rb_digest_base_inspect): new method. diff --git a/ext/digest/lib/digest.rb b/ext/digest/lib/digest.rb index b550f94c3e..7703faa8eb 100644 --- a/ext/digest/lib/digest.rb +++ b/ext/digest/lib/digest.rb @@ -5,4 +5,17 @@ module Digest autoload "SHA256", "digest/sha2" autoload "SHA384", "digest/sha2" autoload "SHA512", "digest/sha2" + + class Base + def self.file(name) + digest = self.new + File.open(name) {|f| + buf = "" + while f.read(16384, buf) + digest.update buf + end + } + digest + end + end end