From 9e6973bffbf876ea6cbd403f211dd81798ec89dd Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 18 Dec 2015 16:14:17 +0100 Subject: KISS --- hook.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'hook.go') diff --git a/hook.go b/hook.go index 67dbf6a..a5c84da 100644 --- a/hook.go +++ b/hook.go @@ -6,11 +6,14 @@ import ( "strings" ) +type Hooker map[string]bool + func execHook(s string) error { cmd := strings.Fields(s) return exec.Command(cmd[0], cmd[1:]...).Run() } +/* func NewHooker() chan string { h := make(chan string, 2) go func() { @@ -22,3 +25,20 @@ func NewHooker() chan string { }() return h } +*/ + +func NewHooker() Hooker { + return make(Hooker) +} + +func (h Hooker) Notice(cmd string) { + h[cmd] = true +} + +func (h Hooker) Execute() { + for cmd := range h { + if err := execHook(cmd); err != nil { + log.Println(cmd, err) + } + } +} -- cgit v1.2.3