Class: Longleaf::DigestHelper
- Inherits:
-
Object
- Object
- Longleaf::DigestHelper
- Defined in:
- lib/longleaf/helpers/digest_helper.rb
Overview
Helper methods for generating digests
Class Method Summary collapse
-
.start_digest(alg) ⇒ Digest
Get a Digest class for the specified algorithm.
- .validate_algorithms(algs) ⇒ Object
Class Method Details
.start_digest(alg) ⇒ Digest
Get a Digest class for the specified algorithm
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/longleaf/helpers/digest_helper.rb', line 31 def self.start_digest(alg) case alg when 'md5' return Digest::MD5.new when 'sha1' return Digest::SHA1.new when 'sha2', 'sha256' return Digest::SHA2.new when 'sha384' return Digest::SHA2.new(384) when 'sha512' return Digest::SHA2.new(512) when 'rmd160' return Digest::RMD160.new else raise InvalidDigestAlgorithmError.new("Cannot produce digest for unknown algorithm '#{alg}'.") end end |
.validate_algorithms(algs) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/longleaf/helpers/digest_helper.rb', line 13 def self.validate_algorithms(algs) return if algs.nil? if algs.is_a?(String) unless KNOWN_DIGESTS.include?(algs) raise InvalidDigestAlgorithmError.new("Unknown digest algorithm #{algs}") end else unknown = algs.select { |alg| !KNOWN_DIGESTS.include?(alg) } unless unknown.empty? raise InvalidDigestAlgorithmError.new("Unknown digest algorithm(s): #{unknown}") end end end |