From c940ac4f72e7e55ef1a7aa35cc0fc32684716977 Mon Sep 17 00:00:00 2001 From: dakkar Date: Thu, 19 Dec 2024 09:42:17 +0000 Subject: minimal example --- factory/factory.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 factory/factory.go (limited to 'factory/factory.go') diff --git a/factory/factory.go b/factory/factory.go new file mode 100644 index 0000000..ae84911 --- /dev/null +++ b/factory/factory.go @@ -0,0 +1,33 @@ +package factory + +import ( + "github.com/rs/zerolog" + + "www.thenautilus.net/cgit/go-example/config" + "www.thenautilus.net/cgit/go-example/something" +) + +type Factory struct { + something *something.Something + + config *config.MainConfig + logger zerolog.Logger +} + +func New(logger zerolog.Logger, config *config.MainConfig) Factory { + return Factory{ + config: config, + logger: logger, + } +} + +func (f *Factory) Something() *something.Something { + if f.something == nil { + something := something.New( + &f.config.Something, + ) + f.something = &something + } + + return f.something +} -- cgit v1.2.3