diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2020-05-21 20:36:57 -0400 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2020-05-21 20:36:57 -0400 |
| commit | ac32d560614d2fbff910335d40cea3ac8cfae00f (patch) | |
| tree | 675a6f75e017a77ab44ccd07cc84eefe054c6037 /data/datasource_boltdb.go | |
| parent | da66c3437d3f4bca4423b07a6009f5d060a61839 (diff) | |
refactoring: extract stdin and boltdb readers
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'data/datasource_boltdb.go')
| -rw-r--r-- | data/datasource_boltdb.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/data/datasource_boltdb.go b/data/datasource_boltdb.go new file mode 100644 index 00000000..81682e04 --- /dev/null +++ b/data/datasource_boltdb.go @@ -0,0 +1,27 @@ +package data + +import ( + "github.com/hairyhenderson/gomplate/v3/libkv" + "github.com/pkg/errors" +) + +func readBoltDB(source *Source, args ...string) (data []byte, err error) { + if source.kv == nil { + source.kv, err = libkv.NewBoltDB(source.URL) + if err != nil { + return nil, err + } + } + + if len(args) != 1 { + return nil, errors.New("missing key") + } + p := args[0] + + data, err = source.kv.Read(p) + if err != nil { + return nil, err + } + + return data, nil +} |
