class ExecutionDeadline::Deadline
Public Class Methods
new(expires_at:, raises: nil)
click to toggle source
# File lib/execution_deadline/deadline.rb, line 7 def initialize(expires_at:, raises: nil) @expires_at = expires_at @raises = raises end
Public Instance Methods
check_deadline_expiration!()
click to toggle source
# File lib/execution_deadline/deadline.rb, line 21 def check_deadline_expiration! expired? && raise(@raises || DeadlineExceeded) end
expired?()
click to toggle source
# File lib/execution_deadline/deadline.rb, line 29 def expired? @expires_at <= Time.now end
require_seconds_left!(seconds_left)
click to toggle source
# File lib/execution_deadline/deadline.rb, line 12 def require_seconds_left!(seconds_left) time_left < seconds_left && raise( @raises || OutOfTime, "Unable to run method expected run time #{seconds_left} " \ "but only #{time_left}s left" ) end
time_left()
click to toggle source
# File lib/execution_deadline/deadline.rb, line 25 def time_left @expires_at - Time.now end