Class: Venetian::BrowserInstaller

Inherits:
Object
  • Object
show all
Defined in:
lib/venetian/browser_installer.rb

Overview

Browser Installer

Installs browsers using the Playwright executable.

Defined Under Namespace

Classes: InstallError

Class Method Summary collapse

Class Method Details

.dependencies_supported?(force: false) ⇒ Boolean

Returns true if the current OS supports Playwright's dependency installer.

Returns:

  • (Boolean)


40
41
42
43
44
# File 'lib/venetian/browser_installer.rb', line 40

def self.dependencies_supported?(force: false)
  return @dependencies_supported unless @dependencies_supported.nil? || force

  @dependencies_supported = install_dry_run || false
end

.install(browser = nil, install_dependencies: install_dependencies?) ) ⇒ Object

Installs a browser. Raises InstallError if installation fails.



32
33
34
35
36
37
# File 'lib/venetian/browser_installer.rb', line 32

def self.install(browser = nil, install_dependencies: install_dependencies?)
  Venetian.system "install", *browser&.to_s, *("--with-deps" if install_dependencies),
                  exception: true, echo: ENV.fetch("VENETIAN_DEBUG", nil)
rescue StandardError => e
  raise InstallError, e.message
end