From d5526f3fe5edfcbcb72df5f4aff0ed0825b39850 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 10 Dec 2013 07:16:03 +0000 Subject: 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 --- ext/openssl/lib/openssl/digest.rb | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/ext/openssl/lib/openssl/digest.rb b/ext/openssl/lib/openssl/digest.rb index 64211cd980..a7b641fd22 100644 --- a/ext/openssl/lib/openssl/digest.rb +++ b/ext/openssl/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{ -- cgit v1.2.3