module Multihashes
Constants
- TABLE
- VERSION
Public Class Methods
decode(multihash)
click to toggle source
# File lib/multihashes.rb, line 20 def self.decode(multihash) integer, length, digest = multihash.unpack('CCa*') if length != digest.bytesize raise DigestLengthError, 'digest did not match expected multihash length' end {code: integer, hash_function: TABLE[integer], length: length, digest: digest} end
encode(digest, hash_function)
click to toggle source
# File lib/multihashes.rb, line 13 def self.encode(digest, hash_function) length = digest.bytesize key = TABLE.key hash_function raise HashFunctionNotImplemented, 'unknown hash function code' if key.nil? [TABLE.key(hash_function), length, digest].pack("CCa#{length}") end