summaryrefslogtreecommitdiff
path: root/ext/digest
diff options
context:
space:
mode:
Diffstat (limited to 'ext/digest')
-rw-r--r--ext/digest/lib/md5.rb13
-rw-r--r--ext/digest/lib/sha1.rb13
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