diff options
author | dakkar <dakkar@thenautilus.net> | 2024-12-19 09:42:17 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2024-12-19 09:42:17 +0000 |
commit | c940ac4f72e7e55ef1a7aa35cc0fc32684716977 (patch) | |
tree | df46d71d6b0ea49a979f90fc43b6947617942b04 /factory/factory.go | |
download | go-example-c940ac4f72e7e55ef1a7aa35cc0fc32684716977.tar.gz go-example-c940ac4f72e7e55ef1a7aa35cc0fc32684716977.tar.bz2 go-example-c940ac4f72e7e55ef1a7aa35cc0fc32684716977.zip |
minimal example
Diffstat (limited to 'factory/factory.go')
-rw-r--r-- | factory/factory.go | 33 |
1 files changed, 33 insertions, 0 deletions
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 +} |