diff options
author | nobu <nobu@ruby-lang.org> | 2013-12-10 07:16:03 +0000 |
---|---|---|
committer | nobu <nobu@ruby-lang.org> | 2013-12-10 07:16:03 +0000 |
commit | a9d18eb9190483b48615b00d4462f54e661d572f (patch) | |
tree | 23111a9771876504c7006b16486a853850cda3aa /lib/openssl | |
parent | 29d6aa6d6a7fa4902a56f4699d42aa83112afea3 (diff) | |
download | ruby-openssl-history-a9d18eb9190483b48615b00d4462f54e661d572f.tar.gz |
openssl/digest.rb: check by lambda
* ext/openssl/lib/openssl/digest.rb (initialize): check argument
size by lambda.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/openssl')
-rw-r--r-- | lib/openssl/digest.rb | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/lib/openssl/digest.rb b/lib/openssl/digest.rb index 64211cd..a7b641f 100644 --- a/lib/openssl/digest.rb +++ b/lib/openssl/digest.rb @@ -42,14 +42,8 @@ module OpenSSL end alg.each{|name| - klass = Class.new(Digest){ - define_method(:initialize){|*data| - if data.length > 1 - raise ArgumentError, - "wrong number of arguments (#{data.length} for 1)" - end - super(name, data.first) - } + klass = Class.new(self) { + define_method(:initialize, ->(data = nil) {super(name, data)}) } singleton = (class << klass; self; end) singleton.class_eval{ |