Class: Sekt::WineTricks

Inherits:
Object
  • Object
show all
Defined in:
lib/sekt/wine_tricks.rb

Instance Method Summary collapse

Constructor Details

#initialize(prefix, architecture = 'win32') ⇒ WineTricks

Returns a new instance of WineTricks.



5
6
7
8
9
10
11
# File 'lib/sekt/wine_tricks.rb', line 5

def initialize(prefix, architecture='win32')
  @prefix = prefix
  @architecture = architecture
  @version = `winetricks --version`.strip
  raise '\'winetricks\' is not installed' unless $?.success?
  logger.debug { "'winetricks' found, version: #{@version}" }
end

Instance Method Details

#install(dependencies) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/sekt/wine_tricks.rb', line 13

def install(dependencies)
  return if dependencies.nil? || dependencies.empty?
  command = "WINEPREFIX=#{@prefix} WINEARCH=#{@architecture} winetricks #{dependencies.join(' ')}"
  logger.debug { "Executing command: `#{command}`" }
  stdout, stderr, status = Open3.capture3(command)
  raise '\'wine_tricks.install\' failed' unless status.success?
end

#sandboxObject



21
22
23
24
25
26
# File 'lib/sekt/wine_tricks.rb', line 21

def sandbox
  command = "WINEPREFIX=#{@prefix} WINEARCH=#{@architecture} winetricks sandbox"
  logger.debug { "Executing command: `#{command}`" }
  stdout, stderr, status = Open3.capture3(command)
  raise '\'wine_tricks.sandbox\' failed' unless status.success?
end