Class: Webdrivers::Common

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

Direct Known Subclasses

Chromedriver, Geckodriver, IEdriver

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.required_versionGem::Version

Returns the user defined required version.

Returns:

  • (Gem::Version)


78
79
80
# File 'lib/webdrivers/common.rb', line 78

def required_version
  normalize_version @required_version
end

Class Method Details

.driver_pathString

Returns path to the driver binary.

Returns:

  • (String)


111
112
113
# File 'lib/webdrivers/common.rb', line 111

def driver_path
  System.escape_path File.join(System.install_dir, file_name)
end

.removeObject

Deletes the existing driver binary.



100
101
102
103
104
105
# File 'lib/webdrivers/common.rb', line 100

def remove
  @download_url = nil
  @latest_version = nil
  System.delete "#{System.install_dir}/#{file_name.gsub('.exe', '')}.version"
  System.delete driver_path
end

.updateString

Triggers an update check.

Returns:

  • (String)

    Path to the driver binary.



86
87
88
89
90
91
92
93
94
95
# File 'lib/webdrivers/common.rb', line 86

def update
  if correct_binary?
    msg = required_version != EMPTY_VERSION ?  'The required webdriver version' : 'A working webdriver version'
    Webdrivers.logger.debug "#{msg} is already on the system"
    return driver_path
  end

  remove
  System.download(download_url, driver_path)
end