Class: AePageObjects::WaitTimeManager

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

Instance Method Summary collapse

Constructor Details

#initialize(min_time, max_time) ⇒ WaitTimeManager

Returns a new instance of WaitTimeManager.



3
4
5
6
# File 'lib/ae_page_objects/util/wait_time_manager.rb', line 3

def initialize(min_time, max_time)
  @wait_time = min_time
  @max_time = max_time
end

Instance Method Details

#using_wait_timeObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/ae_page_objects/util/wait_time_manager.rb', line 8

def using_wait_time
  start_time = Time.now
  @wait_time = [@wait_time, @max_time].min
  Capybara.using_wait_time(@wait_time) do
    yield
  end
ensure
  if Time.now - start_time > @wait_time
    @wait_time *= 2
  end
end