From d6ff7b526a6b102940d06c0e70a21990203606cc Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 14 Sep 2006 05:39:40 +0000 Subject: [PATCH] * ext/digest/lib/digest.rb (Digest::Base.file): new method. [ruby-dev:29572] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/digest/lib/digest.rb | 13 +++++++++++++ 2 files changed, 18 insertions(+) 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