class Dhall::Util::Deadline

Public Class Methods

for_timeout(timeout) click to toggle source
# File lib/dhall/util.rb, line 85
def self.for_timeout(timeout)
        if timeout.nil? || timeout.to_f.infinite?
                NoDeadline.new
        else
                new(Time.now + timeout)
        end
end
new(deadline) click to toggle source
# File lib/dhall/util.rb, line 93
def initialize(deadline)
        @deadline = deadline
end

Public Instance Methods

exceeded?() click to toggle source
# File lib/dhall/util.rb, line 97
def exceeded?
        @deadline < Time.now
end
timeout() click to toggle source
# File lib/dhall/util.rb, line 101
def timeout
        [0.000000000000001, @deadline - Time.now].max
end
timeout_block(&block) click to toggle source
# File lib/dhall/util.rb, line 105
def timeout_block(&block)
        Timeout.timeout(timeout, TimeoutException, &block)
end