uh-wm/lib/uh/wm/actions_handler.rb
2015-04-19 01:50:48 +00:00

36 lines
651 B
Ruby

module Uh
module WM
class ActionsHandler
include EnvLogging
def initialize env, events
@env, @events = env, events
end
def evaluate code
instance_eval &code
end
def quit
log 'Quit requested'
@events.emit :quit
end
def execute command
log "Execute: #{command}"
pid = fork do
fork do
Process.setsid
begin
exec command
rescue Errno::ENOENT => e
log_error "ExecuteError: #{e}"
end
end
end
Process.waitpid pid
end
end
end
end