Class: Webdrivers::Chromedriver

Inherits:
Common
  • Object
show all
Defined in:
lib/webdrivers/chromedriver.rb

Class Method Summary collapse

Methods inherited from Common

binary, desired_version, download, install_dir, remove, update

Class Method Details

.current_versionObject



7
8
9
10
11
12
13
14
15
16
# File 'lib/webdrivers/chromedriver.rb', line 7

def current_version
  Webdrivers.logger.debug 'Checking current version'
  return nil unless downloaded?

  ver = `#{binary} --version`
  Webdrivers.logger.debug "Current #{binary} version: #{ver}"

  # Matches 2.46, 2.46.628411 and 73.0.3683.75

  normalize ver[/\d+\.\d+(\.\d+)?(\.\d+)?/]
end

.latest_versionObject

Raises:

  • (StandardError)


18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/webdrivers/chromedriver.rb', line 18

def latest_version
  raise StandardError, 'Can not reach site' unless site_available?

  # Versions before 70 do not have a LATEST_RELEASE file

  return Gem::Version.new('2.46') if release_version < '70.0.3538'

  # Latest webdriver release for installed Chrome version

  release_file     = "LATEST_RELEASE_#{release_version}"
  latest_available = get(URI.join(base_url, release_file))
  Webdrivers.logger.debug "Latest version available: #{latest_available}"
  Gem::Version.new(latest_available)
end