Class: Dhall::ExpressionResolver::ImportResolver
- Inherits:
-
Dhall::ExpressionResolver
- Object
- Dhall::ExpressionResolver
- Dhall::ExpressionResolver::ImportResolver
- Defined in:
- lib/dhall/resolve.rb
Instance Method Summary collapse
Methods inherited from Dhall::ExpressionResolver
for, #initialize, register_for
Constructor Details
This class inherits a constructor from Dhall::ExpressionResolver
Instance Method Details
#resolve(resolver:, relative_to:) ⇒ Object
433 434 435 436 437 438 439 |
# File 'lib/dhall/resolve.rb', line 433 def resolve(resolver:, relative_to:) Promise.resolve(nil).then do resolver.cache_fetch(@expr.cache_key(relative_to)) do resolve_raw(resolver: resolver, relative_to: relative_to) end end end |
#resolve_raw(resolver:, relative_to:) ⇒ Object
441 442 443 444 445 446 447 448 449 |
# File 'lib/dhall/resolve.rb', line 441 def resolve_raw(resolver:, relative_to:) real_path = @expr.real_path(relative_to) real_path.resolve(resolver).then do |result| @expr.parse_and_check(result, deadline: resolver.deadline).resolve( resolver: resolver.child(real_path), relative_to: real_path ) end end |