Class: Troo::Launcher

Inherits:
Object
  • Object
show all
Defined in:
lib/troo/launcher.rb

Instance Method Summary collapse

Constructor Details

#initialize(argv, stdin = STDIN, stdout = STDOUT, stderr = STDERR, kernel = Kernel) ⇒ Object

Returns [].

Parameters:

  • (Array)
  • []
  • []
  • []
  • []


9
10
11
12
13
14
15
16
17
18
# File 'lib/troo/launcher.rb', line 9

def initialize(argv, stdin = STDIN,
                     stdout = STDOUT,
                     stderr = STDERR,
                     kernel = Kernel)
  @argv = argv
  @stdin = stdin
  @stdout = stdout
  @stderr = stderr
  @kernel = kernel
end

Instance Method Details

#execute!Object

Returns [].

Returns:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/troo/launcher.rb', line 21

def execute!
  $stdin, $stdout, $stderr = @stdin, @stdout, @stderr
  pad { Troo::CLI::Main.start(@argv) }
  @kernel.exit(0)
rescue Errno::ENOENT
  pad { puts "Configuration cannot be found, please run 'troo init'" \
             " first." }
  @kernel.exit(1)
rescue Redis::CannotConnectError
  pad { puts 'Cannot connect to Redis database.' }
  @kernel.exit(1)
ensure
  $stdin, $stdout, $stderr = STDIN, STDOUT, STDERR
end