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