class Dhall::Import::IntegrityCheck

Public Class Methods

decode(integrity_check) click to toggle source
# File lib/dhall/binary.rb, line 224
def self.decode(integrity_check)
        return unless integrity_check

        IntegrityCheck.new(
                Multihashes.decode(integrity_check).select { |k, _|
                        [:code, :digest].include?(k)
                }
        )
end

Public Instance Methods

as_json() click to toggle source
# File lib/dhall/ast.rb, line 1355
def as_json
        Multihashes.encode(digest, Multihashes::TABLE[code])
end
check(expr) click to toggle source
# File lib/dhall/ast.rb, line 1347
def check(expr)
        expr = expr.normalize
        return expr if expr.cache_key == to_s

        raise FailureException, "#{expr} hash #{expr.cache_key}" \
                                " does not match #{self}"
end
hexdigest() click to toggle source
# File lib/dhall/ast.rb, line 1339
def hexdigest
        digest.unpack("H*").first.encode(Encoding::UTF_8)
end
ipfs() click to toggle source
# File lib/dhall/ast.rb, line 1343
def ipfs
        "/ipfs/b#{Base32.encode("\x01\x55" + as_json).downcase.sub(/=*$/, "")}"
end
to_s() click to toggle source
# File lib/dhall/ast.rb, line 1335
def to_s
        "#{Multihashes::TABLE[code].sub(/\Asha2-/, "sha")}:#{hexdigest}"
end