Class: Rustic::Wrapper

Inherits:
Object
  • Object
show all
Includes:
Console
Defined in:
lib/rustic/wrapper.rb

Defined Under Namespace

Classes: ExecutionError, ExitStatusError

Instance Method Summary collapse

Constructor Details

#initialize(argv, env_variables = {}) ⇒ Wrapper

Returns a new instance of Wrapper.



9
10
11
12
# File 'lib/rustic/wrapper.rb', line 9

def initialize(argv, env_variables = {})
  @argv = argv
  @env_variables = env_variables
end

Instance Method Details

#runObject

Raises:



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rustic/wrapper.rb', line 14

def run
  logger.info(self, "Executing:", @argv)
  begin
    status = Async::Process.spawn(@env_variables, *@argv)
  rescue StandardError
    raise ExecutionError
  end
  return if status.exitstatus.zero? # TODO: check #success?

  raise ExitStatusError, "Exit status is not 0: #{status.exitstatus}"
end