From 51bd6e455dea5c22f8a5c4d1579c472c4937e8d6 Mon Sep 17 00:00:00 2001 From: Silvan Jegen Date: Sun, 22 Jan 2017 16:17:34 +0100 Subject: Use registry for output modules --- main.go | 4 ++-- output/interface.go | 7 ------- output/outputinterface.go | 7 +++++++ output/stdout.go | 14 -------------- output/stdout/stdout.go | 24 ++++++++++++++++++++++++ registry/registry.go | 8 ++------ 6 files changed, 35 insertions(+), 29 deletions(-) delete mode 100644 output/interface.go create mode 100644 output/outputinterface.go delete mode 100644 output/stdout.go create mode 100644 output/stdout/stdout.go diff --git a/main.go b/main.go index 5b0e329..69677d5 100644 --- a/main.go +++ b/main.go @@ -9,7 +9,7 @@ import ( "github.com/Shugyousha/stasher/conf" "github.com/Shugyousha/stasher/filter/str" "github.com/Shugyousha/stasher/input/stdin" - "github.com/Shugyousha/stasher/output" + "github.com/Shugyousha/stasher/output/stdout" ) func main() { @@ -28,7 +28,7 @@ func main() { m := Manager{ Input: stdin.New(nil), Filter: str.New(ffmap), - Output: &output.StdoutOutput{}, + Output: stdout.New(nil), } m.Run() diff --git a/output/interface.go b/output/interface.go deleted file mode 100644 index 8f1137a..0000000 --- a/output/interface.go +++ /dev/null @@ -1,7 +0,0 @@ -package output - -import "github.com/Shugyousha/stasher/work" - -type Output interface { - Output(*work.Work) -} diff --git a/output/outputinterface.go b/output/outputinterface.go new file mode 100644 index 0000000..8f1137a --- /dev/null +++ b/output/outputinterface.go @@ -0,0 +1,7 @@ +package output + +import "github.com/Shugyousha/stasher/work" + +type Output interface { + Output(*work.Work) +} diff --git a/output/stdout.go b/output/stdout.go deleted file mode 100644 index 5cb753e..0000000 --- a/output/stdout.go +++ /dev/null @@ -1,14 +0,0 @@ -package output - -import ( - "fmt" - - "github.com/Shugyousha/stasher/work" -) - -type StdoutOutput struct { -} - -func (o *StdoutOutput) Output(w *work.Work) { - fmt.Printf("%s\n", w.Data) -} diff --git a/output/stdout/stdout.go b/output/stdout/stdout.go new file mode 100644 index 0000000..9d66581 --- /dev/null +++ b/output/stdout/stdout.go @@ -0,0 +1,24 @@ +package stdout + +import ( + "fmt" + + "github.com/Shugyousha/stasher/output" + "github.com/Shugyousha/stasher/registry" + "github.com/Shugyousha/stasher/work" +) + +func init() { + registry.Outputregistry["stdout"] = New +} + +type StdoutOutput struct { +} + +func New(map[string]string) output.Output { + return &StdoutOutput{} +} + +func (o *StdoutOutput) Output(w *work.Work) { + fmt.Printf("%s\n", w.Data) +} diff --git a/registry/registry.go b/registry/registry.go index 7f0149f..6bb99f0 100644 --- a/registry/registry.go +++ b/registry/registry.go @@ -3,15 +3,11 @@ package registry import ( "github.com/Shugyousha/stasher/filter" "github.com/Shugyousha/stasher/input" - "github.com/Shugyousha/stasher/work" + "github.com/Shugyousha/stasher/output" ) var ( Inputregistry map[string]func(map[string]string) input.Input = make(map[string]func(map[string]string) input.Input) Filterregistry map[string]func(map[string]string) filter.Filter = make(map[string]func(map[string]string) filter.Filter) - Outputregistry map[string]func(map[string]string) Output = make(map[string]func(map[string]string) Output) + Outputregistry map[string]func(map[string]string) output.Output = make(map[string]func(map[string]string) output.Output) ) - -type Output interface { - Output(*work.Work) -} -- cgit v1.2.1-18-gbd029