From 9e86a603063dc564810bff209913365f894e00e7 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Thu, 14 Oct 2021 13:58:10 +0900 Subject: Removed redundant digest namespace --- ext/digest/sha2/lib/digest/sha2.rb | 142 ------------------------------ ext/digest/sha2/lib/digest/sha2/loader.rb | 3 - ext/digest/sha2/lib/sha2.rb | 142 ++++++++++++++++++++++++++++++ ext/digest/sha2/lib/sha2/loader.rb | 3 + tool/sync_default_gems.rb | 6 +- 5 files changed, 148 insertions(+), 148 deletions(-) delete mode 100644 ext/digest/sha2/lib/digest/sha2.rb delete mode 100644 ext/digest/sha2/lib/digest/sha2/loader.rb create mode 100644 ext/digest/sha2/lib/sha2.rb create mode 100644 ext/digest/sha2/lib/sha2/loader.rb diff --git a/ext/digest/sha2/lib/digest/sha2.rb b/ext/digest/sha2/lib/digest/sha2.rb deleted file mode 100644 index f17593a206..0000000000 --- a/ext/digest/sha2/lib/digest/sha2.rb +++ /dev/null @@ -1,142 +0,0 @@ -# frozen_string_literal: false -#-- -# sha2.rb - defines Digest::SHA2 class which wraps up the SHA256, -# SHA384, and SHA512 classes. -#++ -# Copyright (c) 2006 Akinori MUSHA -# -# All rights reserved. You can redistribute and/or modify it under the same -# terms as Ruby. -# -# $Id$ - -require 'digest' -require 'digest/sha2/loader' - -module Digest - # - # A meta digest provider class for SHA256, SHA384 and SHA512. - # - # FIPS 180-2 describes SHA2 family of digest algorithms. It defines - # three algorithms: - # * one which works on chunks of 512 bits and returns a 256-bit - # digest (SHA256), - # * one which works on chunks of 1024 bits and returns a 384-bit - # digest (SHA384), - # * and one which works on chunks of 1024 bits and returns a 512-bit - # digest (SHA512). - # - # ==Examples - # require 'digest' - # - # # Compute a complete digest - # Digest::SHA2.hexdigest 'abc' # => "ba7816bf8..." - # Digest::SHA2.new(256).hexdigest 'abc' # => "ba7816bf8..." - # Digest::SHA256.hexdigest 'abc' # => "ba7816bf8..." - # - # Digest::SHA2.new(384).hexdigest 'abc' # => "cb00753f4..." - # Digest::SHA384.hexdigest 'abc' # => "cb00753f4..." - # - # Digest::SHA2.new(512).hexdigest 'abc' # => "ddaf35a19..." - # Digest::SHA512.hexdigest 'abc' # => "ddaf35a19..." - # - # # Compute digest by chunks - # sha2 = Digest::SHA2.new # =># - # sha2.update "ab" - # sha2 << "c" # alias for #update - # sha2.hexdigest # => "ba7816bf8..." - # - # # Use the same object to compute another digest - # sha2.reset - # sha2 << "message" - # sha2.hexdigest # => "ab530a13e..." - # - class SHA2 < Digest::Class - # call-seq: - # Digest::SHA2.new(bitlen = 256) -> digest_obj - # - # Create a new SHA2 hash object with a given bit length. - # - # Valid bit lengths are 256, 384 and 512. - def initialize(bitlen = 256) - case bitlen - when 256 - @sha2 = Digest::SHA256.new - when 384 - @sha2 = Digest::SHA384.new - when 512 - @sha2 = Digest::SHA512.new - else - raise ArgumentError, "unsupported bit length: %s" % bitlen.inspect - end - @bitlen = bitlen - end - - # call-seq: - # digest_obj.reset -> digest_obj - # - # Reset the digest to the initial state and return self. - def reset - @sha2.reset - self - end - - # call-seq: - # digest_obj.update(string) -> digest_obj - # digest_obj << string -> digest_obj - # - # Update the digest using a given _string_ and return self. - def update(str) - @sha2.update(str) - self - end - alias << update - - def finish # :nodoc: - @sha2.digest! - end - private :finish - - - # call-seq: - # digest_obj.block_length -> Integer - # - # Return the block length of the digest in bytes. - # - # Digest::SHA256.new.block_length * 8 - # # => 512 - # Digest::SHA384.new.block_length * 8 - # # => 1024 - # Digest::SHA512.new.block_length * 8 - # # => 1024 - def block_length - @sha2.block_length - end - - # call-seq: - # digest_obj.digest_length -> Integer - # - # Return the length of the hash value (the digest) in bytes. - # - # Digest::SHA256.new.digest_length * 8 - # # => 256 - # Digest::SHA384.new.digest_length * 8 - # # => 384 - # Digest::SHA512.new.digest_length * 8 - # # => 512 - # - # For example, digests produced by Digest::SHA256 will always be 32 bytes - # (256 bits) in size. - def digest_length - @sha2.digest_length - end - - def initialize_copy(other) # :nodoc: - @sha2 = other.instance_eval { @sha2.clone } - end - - def inspect # :nodoc: - "#<%s:%d %s>" % [self.class.name, @bitlen, hexdigest] - end - end -end diff --git a/ext/digest/sha2/lib/digest/sha2/loader.rb b/ext/digest/sha2/lib/digest/sha2/loader.rb deleted file mode 100644 index 7d6d04a59c..0000000000 --- a/ext/digest/sha2/lib/digest/sha2/loader.rb +++ /dev/null @@ -1,3 +0,0 @@ -# frozen_string_literal: true - -require 'digest/sha2.so' diff --git a/ext/digest/sha2/lib/sha2.rb b/ext/digest/sha2/lib/sha2.rb new file mode 100644 index 0000000000..f17593a206 --- /dev/null +++ b/ext/digest/sha2/lib/sha2.rb @@ -0,0 +1,142 @@ +# frozen_string_literal: false +#-- +# sha2.rb - defines Digest::SHA2 class which wraps up the SHA256, +# SHA384, and SHA512 classes. +#++ +# Copyright (c) 2006 Akinori MUSHA +# +# All rights reserved. You can redistribute and/or modify it under the same +# terms as Ruby. +# +# $Id$ + +require 'digest' +require 'digest/sha2/loader' + +module Digest + # + # A meta digest provider class for SHA256, SHA384 and SHA512. + # + # FIPS 180-2 describes SHA2 family of digest algorithms. It defines + # three algorithms: + # * one which works on chunks of 512 bits and returns a 256-bit + # digest (SHA256), + # * one which works on chunks of 1024 bits and returns a 384-bit + # digest (SHA384), + # * and one which works on chunks of 1024 bits and returns a 512-bit + # digest (SHA512). + # + # ==Examples + # require 'digest' + # + # # Compute a complete digest + # Digest::SHA2.hexdigest 'abc' # => "ba7816bf8..." + # Digest::SHA2.new(256).hexdigest 'abc' # => "ba7816bf8..." + # Digest::SHA256.hexdigest 'abc' # => "ba7816bf8..." + # + # Digest::SHA2.new(384).hexdigest 'abc' # => "cb00753f4..." + # Digest::SHA384.hexdigest 'abc' # => "cb00753f4..." + # + # Digest::SHA2.new(512).hexdigest 'abc' # => "ddaf35a19..." + # Digest::SHA512.hexdigest 'abc' # => "ddaf35a19..." + # + # # Compute digest by chunks + # sha2 = Digest::SHA2.new # =># + # sha2.update "ab" + # sha2 << "c" # alias for #update + # sha2.hexdigest # => "ba7816bf8..." + # + # # Use the same object to compute another digest + # sha2.reset + # sha2 << "message" + # sha2.hexdigest # => "ab530a13e..." + # + class SHA2 < Digest::Class + # call-seq: + # Digest::SHA2.new(bitlen = 256) -> digest_obj + # + # Create a new SHA2 hash object with a given bit length. + # + # Valid bit lengths are 256, 384 and 512. + def initialize(bitlen = 256) + case bitlen + when 256 + @sha2 = Digest::SHA256.new + when 384 + @sha2 = Digest::SHA384.new + when 512 + @sha2 = Digest::SHA512.new + else + raise ArgumentError, "unsupported bit length: %s" % bitlen.inspect + end + @bitlen = bitlen + end + + # call-seq: + # digest_obj.reset -> digest_obj + # + # Reset the digest to the initial state and return self. + def reset + @sha2.reset + self + end + + # call-seq: + # digest_obj.update(string) -> digest_obj + # digest_obj << string -> digest_obj + # + # Update the digest using a given _string_ and return self. + def update(str) + @sha2.update(str) + self + end + alias << update + + def finish # :nodoc: + @sha2.digest! + end + private :finish + + + # call-seq: + # digest_obj.block_length -> Integer + # + # Return the block length of the digest in bytes. + # + # Digest::SHA256.new.block_length * 8 + # # => 512 + # Digest::SHA384.new.block_length * 8 + # # => 1024 + # Digest::SHA512.new.block_length * 8 + # # => 1024 + def block_length + @sha2.block_length + end + + # call-seq: + # digest_obj.digest_length -> Integer + # + # Return the length of the hash value (the digest) in bytes. + # + # Digest::SHA256.new.digest_length * 8 + # # => 256 + # Digest::SHA384.new.digest_length * 8 + # # => 384 + # Digest::SHA512.new.digest_length * 8 + # # => 512 + # + # For example, digests produced by Digest::SHA256 will always be 32 bytes + # (256 bits) in size. + def digest_length + @sha2.digest_length + end + + def initialize_copy(other) # :nodoc: + @sha2 = other.instance_eval { @sha2.clone } + end + + def inspect # :nodoc: + "#<%s:%d %s>" % [self.class.name, @bitlen, hexdigest] + end + end +end diff --git a/ext/digest/sha2/lib/sha2/loader.rb b/ext/digest/sha2/lib/sha2/loader.rb new file mode 100644 index 0000000000..7d6d04a59c --- /dev/null +++ b/ext/digest/sha2/lib/sha2/loader.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +require 'digest/sha2.so' diff --git a/tool/sync_default_gems.rb b/tool/sync_default_gems.rb index 7f464115dd..e91f47b24e 100755 --- a/tool/sync_default_gems.rb +++ b/tool/sync_default_gems.rb @@ -320,9 +320,9 @@ def sync_default_gems(gem) cp_r("#{upstream}/ext/digest", "ext") mkdir_p("ext/digest/lib/digest") cp_r("#{upstream}/lib/digest.rb", "ext/digest/lib/") - mkdir_p("ext/digest/sha2/lib/digest") - cp_r("#{upstream}/lib/digest/sha2.rb", "ext/digest/sha2/lib/digest") - move("ext/digest/lib/digest/sha2", "ext/digest/sha2/lib/digest") + mkdir_p("ext/digest/sha2/lib") + cp_r("#{upstream}/lib/digest/sha2.rb", "ext/digest/sha2/lib") + move("ext/digest/lib/digest/sha2", "ext/digest/sha2/lib") cp_r("#{upstream}/test/digest", "test") cp_r("#{upstream}/digest.gemspec", "ext/digest") `git checkout ext/digest/depend ext/digest/*/depend` -- cgit v1.2.3