class Dhall::ExpressionResolver::ImportResolver
Public Class Methods
new(expr)
click to toggle source
Calls superclass method
Dhall::ExpressionResolver::new
# File lib/dhall/resolve.rb, line 433 def self.new(expr) if expr.import_type == Import::AsLocation ImportAsLocationResolver.new(expr) else super end end
Public Instance Methods
resolve(resolver:, relative_to:)
click to toggle source
# File lib/dhall/resolve.rb, line 441 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:)
click to toggle source
# File lib/dhall/resolve.rb, line 449 def resolve_raw(resolver:, relative_to:) real_path = @expr.real_path(relative_to) real_path.resolve(resolver).then do |result| @expr.parse_resolve_check( result, deadline: resolver.deadline, resolver: resolver.child(real_path), relative_to: real_path ) end end