class Scraypa::DriverResetter
Attributes
requests_since_last_reset[RW]
Public Class Methods
new(every_n_requests)
click to toggle source
# File lib/scraypa/driver_resetter.rb, line 7 def initialize every_n_requests @every_n_requests = every_n_requests @requests_since_last_reset = 0 end
Public Instance Methods
reset_if_nth_request()
click to toggle source
# File lib/scraypa/driver_resetter.rb, line 12 def reset_if_nth_request @requests_since_last_reset += 1 if @requests_since_last_reset >= @every_n_requests Capybara.current_driver == :poltergeist ? reset_poltergeist_driver : reset_headless_chromium_driver @requests_since_last_reset = 0 end end
Private Instance Methods
reset_headless_chromium_driver()
click to toggle source
# File lib/scraypa/driver_resetter.rb, line 30 def reset_headless_chromium_driver Capybara.reset_sessions! Capybara.send(:session_pool).each do |session_name, session| session.driver.quit if session_name.include?('headless_chromium') end end
reset_poltergeist_driver()
click to toggle source
# File lib/scraypa/driver_resetter.rb, line 23 def reset_poltergeist_driver Capybara.reset_sessions! Capybara.send(:session_pool).each do |session_name, session| session.driver.restart if session_name.include?('poltergeist') end end