Class: Dhall::Import::IntegrityCheck
- Inherits:
-
Object
- Object
- Dhall::Import::IntegrityCheck
show all
- Defined in:
- lib/dhall/ast.rb,
lib/dhall/binary.rb
Defined Under Namespace
Classes: FailureException
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.decode(integrity_check) ⇒ Object
218
219
220
221
222
223
224
225
226
|
# File 'lib/dhall/binary.rb', line 218
def self.decode(integrity_check)
return unless integrity_check
IntegrityCheck.new(
Multihashes.decode(integrity_check).select { |k, _|
[:code, :digest].include?(k)
}
)
end
|
Instance Method Details
#as_json ⇒ Object
1305
1306
1307
|
# File 'lib/dhall/ast.rb', line 1305
def as_json
Multihashes.encode(digest, Multihashes::TABLE[code])
end
|
#check(expr) ⇒ Object
1298
1299
1300
1301
1302
1303
|
# File 'lib/dhall/ast.rb', line 1298
def check(expr)
expr = expr.normalize
return expr if expr.cache_key == to_s
raise FailureException, "#{expr} does not match #{self}"
end
|
#hexdigest ⇒ Object
1290
1291
1292
|
# File 'lib/dhall/ast.rb', line 1290
def hexdigest
digest.unpack("H*").first.encode(Encoding::UTF_8)
end
|
#ipfs ⇒ Object
1294
1295
1296
|
# File 'lib/dhall/ast.rb', line 1294
def ipfs
"/ipfs/b#{Base32.encode("\x01\x55" + as_json).downcase.sub(/=*$/, "")}"
end
|
#to_s ⇒ Object
1286
1287
1288
|
# File 'lib/dhall/ast.rb', line 1286
def to_s
"#{Multihashes::TABLE[code].sub(/\Asha2-/, "sha")}:#{hexdigest}"
end
|