Class: WaitUntil::Operation

Inherits:
Object
  • Object
show all
Defined in:
lib/wait_until/operation.rb

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Operation

Returns a new instance of Operation.



5
6
7
8
9
10
# File 'lib/wait_until/operation.rb', line 5

def initialize(args)
  @timeout_in_seconds = args[:timeout_in_seconds] || ::WaitUntil::Wait.default_timeout_in_seconds
  @description        = args[:description]
  @failure_message    = args[:failure_message]
  @on_failure         = args[:on_failure]
end

Instance Method Details

#eventually_true?(&block) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
# File 'lib/wait_until/operation.rb', line 12

def eventually_true?(&block)
  @start_time = Time.now
  loop do
    return true if true?(&block)
    return false if timed_out?
  end
end

#failure_messageObject



20
21
22
23
24
25
26
# File 'lib/wait_until/operation.rb', line 20

def failure_message
  message = @failure_message
  message ||= "Timed-out waiting until '#{@description}'"  if @description
  message ||= "Timed-out waiting until operation completed"
  message << "\nLast observed exception: #{@last_error}" if @last_error
  message
end