class Nexpose::Poller

Attributes

poll_begin[R]

Stand alone object to handle waiting logic.

polling_interval[R]

Stand alone object to handle waiting logic.

timeout[R]

Stand alone object to handle waiting logic.

Public Class Methods

new(timeout: nil, polling_interval: nil) click to toggle source
# File lib/nexpose/wait.rb, line 82
def initialize(timeout: nil, polling_interval: nil)
  global_timeout = set_global_timeout
  @timeout = timeout.nil? ? global_timeout : timeout

  global_polling = set_polling_interval
  @polling_interval = polling_interval.nil? ? global_polling : polling_interval
end

Public Instance Methods

wait(condition) click to toggle source
# File lib/nexpose/wait.rb, line 90
def wait(condition)
  @poll_begin = Time.now
  loop do
    break if condition.call
    raise Timeout::Error if @poll_begin + @timeout < Time.now
    sleep @polling_interval
  end
end

Private Instance Methods

set_global_timeout() click to toggle source
# File lib/nexpose/wait.rb, line 101
def set_global_timeout
  default_timeout = 120
  ENV['GLOBAL_TIMEOUT'].nil? ? default_timeout : ENV['GLOBAL_TIMEOUT']
end
set_polling_interval() click to toggle source
# File lib/nexpose/wait.rb, line 106
def set_polling_interval
  default_polling = 1
  ENV['GLOBAL_POLLING_INTERVAL'].nil? ? default_polling : ENV['GLOBAL_POLLING_INTERVAL']
end