Class: Dhall::Util::Deadline

Inherits:
Object
  • Object
show all
Defined in:
lib/dhall/util.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(deadline) ⇒ Deadline

Returns a new instance of Deadline.



75
76
77
# File 'lib/dhall/util.rb', line 75

def initialize(deadline)
	@deadline = deadline
end

Class Method Details

.for_timeout(timeout) ⇒ Object



67
68
69
70
71
72
73
# File 'lib/dhall/util.rb', line 67

def self.for_timeout(timeout)
	if timeout.nil? || timeout.to_f.infinite?
		NoDeadline.new
	else
		new(Time.now + timeout)
	end
end

Instance Method Details

#exceeded?Boolean

Returns:

  • (Boolean)


79
80
81
# File 'lib/dhall/util.rb', line 79

def exceeded?
	@deadline < Time.now
end

#timeoutObject



83
84
85
# File 'lib/dhall/util.rb', line 83

def timeout
	[0.000000000000001, @deadline - Time.now].max
end

#timeout_block(&block) ⇒ Object



87
88
89
# File 'lib/dhall/util.rb', line 87

def timeout_block(&block)
	Timeout.timeout(timeout, TimeoutException, &block)
end