Class: Dhall::Util::Deadline
- Inherits:
-
Object
- Object
- Dhall::Util::Deadline
- Defined in:
- lib/dhall/util.rb
Class Method Summary collapse
Instance Method Summary collapse
- #exceeded? ⇒ Boolean
-
#initialize(deadline) ⇒ Deadline
constructor
A new instance of Deadline.
- #timeout ⇒ Object
- #timeout_block(&block) ⇒ Object
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
79 80 81 |
# File 'lib/dhall/util.rb', line 79 def exceeded? @deadline < Time.now end |
#timeout ⇒ Object
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 |