diff options
Diffstat (limited to 'ext/digest')
-rw-r--r-- | ext/digest/lib/md5.rb | 13 | ||||
-rw-r--r-- | ext/digest/lib/sha1.rb | 13 |
2 files changed, 22 insertions, 4 deletions
diff --git a/ext/digest/lib/md5.rb b/ext/digest/lib/md5.rb index 1d05d7d04e..50b3a01ed0 100644 --- a/ext/digest/lib/md5.rb +++ b/ext/digest/lib/md5.rb @@ -7,8 +7,17 @@ require 'digest/md5' MD5 = Digest::MD5 -class MD5 - def self.md5(*args) +class << MD5 + alias orig_new new + def new(str = nil) + if str + orig_new.update(str) + else + orig_new + end + end + + def md5(*args) new(*args) end end diff --git a/ext/digest/lib/sha1.rb b/ext/digest/lib/sha1.rb index c4ac6f66ea..c7cf51439f 100644 --- a/ext/digest/lib/sha1.rb +++ b/ext/digest/lib/sha1.rb @@ -7,8 +7,17 @@ require 'digest/sha1' SHA1 = Digest::SHA1 -class SHA1 - def self.sha1(*args) +class << SHA1 + alias orig_new new + def new(str = nil) + if str + orig_new.update(str) + else + orig_new + end + end + + def sha1(*args) new(*args) end end |