From 99cc752b3818a5e57bc36a1f68987ea80d808939 Mon Sep 17 00:00:00 2001 From: Max Claus Nunes Date: Mon, 18 Jun 2018 23:53:49 -0300 Subject: [PATCH] Refactor restart logic into a function --- main.go | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/main.go b/main.go index f1607a0..e4c75b6 100644 --- a/main.go +++ b/main.go @@ -172,15 +172,7 @@ func runGaper(cfg *Config) error { select { case event := <-watcher.Events: logger.Debug("Detected new changed file: ", event) - if err = runner.Kill(); err != nil { - return fmt.Errorf("kill error: %v", err) - } - if err = builder.Build(); err != nil { - return fmt.Errorf("build error: %v", err) - } - if _, err = runner.Run(); err != nil { - return fmt.Errorf("run error: %v", err) - } + restart(builder, runner) case err := <-watcher.Errors: return fmt.Errorf("error on watching files: %v", err) default: @@ -190,6 +182,22 @@ func runGaper(cfg *Config) error { } } +func restart(builder Builder, runner Runner) error { + if err := runner.Kill(); err != nil { + return fmt.Errorf("kill error: %v", err) + } + + if err := builder.Build(); err != nil { + return fmt.Errorf("build error: %v", err) + } + + if _, err := runner.Run(); err != nil { + return fmt.Errorf("run error: %v", err) + } + + return nil +} + func shutdown(runner Runner) { c := make(chan os.Signal, 2) signal.Notify(c, os.Interrupt, syscall.SIGTERM)