Class: Puppeteer::TimeoutHelper
- Inherits:
-
Object
- Object
- Puppeteer::TimeoutHelper
- Defined in:
- lib/puppeteer/timeout_helper.rb
Instance Method Summary collapse
-
#initialize(task_name, timeout_ms:, default_timeout_ms:) ⇒ TimeoutHelper
constructor
A new instance of TimeoutHelper.
- #with_timeout(&block) ⇒ Object
Constructor Details
#initialize(task_name, timeout_ms:, default_timeout_ms:) ⇒ TimeoutHelper
Returns a new instance of TimeoutHelper.
4 5 6 7 |
# File 'lib/puppeteer/timeout_helper.rb', line 4 def initialize(task_name, timeout_ms:, default_timeout_ms:) @task_name = task_name @timeout_ms = (timeout_ms || default_timeout_ms).to_i end |
Instance Method Details
#with_timeout(&block) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/puppeteer/timeout_helper.rb', line 9 def with_timeout(&block) return block.call if @timeout_ms <= 0 begin Puppeteer::AsyncUtils.async_timeout(@timeout_ms, &block).wait rescue Async::TimeoutError raise Puppeteer::TimeoutError.new("waiting for #{@task_name} failed: timeout #{@timeout_ms}ms exceeded") end end |