summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-28 00:40:58 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-28 00:40:58 +0000
commitac99a70c89ff13b21263a111dc93b21bda8f9b6f (patch)
tree119759312361475c2e011f7f3cee01cb574f3c08 /ext
parent73c59df711a91a8652d03e25fb668bf42541d9b5 (diff)
* ext/digest/lib/digest.rb (Digest::self.const_missing): avoid
infinite recursive const_missing call. [ruby-talk:262193] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/digest/lib/digest.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/digest/lib/digest.rb b/ext/digest/lib/digest.rb
index 244cd436b3..0c4ee3c2cc 100644
--- a/ext/digest/lib/digest.rb
+++ b/ext/digest/lib/digest.rb
@@ -12,9 +12,11 @@ module Digest
begin
require lib
rescue LoadError => e
- raise LoadError, "library not found for class Digest::#{name} -- #{lib}"
+ raise LoadError, "library not found for class Digest::#{name} -- #{lib}", caller(1)
+ end
+ unless Digest.const_defined?(name)
+ raise NameError, "uninitialized constant Digest::#{name}", caller(1)
end
-
Digest.const_get(name)
end