From eb60a6aacf8f770fd6c5a785e4972fc2d941bdd2 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Tue, 15 Mar 2022 04:52:43 +0000 Subject: [PATCH] Storable -> Object --- object.go | 18 ++++++++++++++++++ store.go | 9 ++------- 2 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 object.go diff --git a/object.go b/object.go new file mode 100644 index 0000000..2537072 --- /dev/null +++ b/object.go @@ -0,0 +1,18 @@ +package main + +import "fmt" + +type Object interface { + GetType() string + GetId() string +} + +func ObjectKey(obj Object) string { + return fmt.Sprintf( + "%d:%s:%d:%s", + len(obj.GetType()), + obj.GetType(), + len(obj.GetId()), + obj.GetId(), + ) +} diff --git a/store.go b/store.go index c1d1104..0c3ad6a 100644 --- a/store.go +++ b/store.go @@ -6,11 +6,6 @@ import "fmt" import "os" import "path/filepath" -type Storable interface { - GetType() string - GetId() string -} - type Store struct { root string } @@ -21,7 +16,7 @@ func NewStore(root string) *Store { } } -func (s *Store) Write(obj Storable) error { +func (s *Store) Write(obj Object) error { dir := filepath.Join(s.root, obj.GetType()) filename := hex.EncodeToString([]byte(obj.GetId())) @@ -57,7 +52,7 @@ func (s *Store) Write(obj Storable) error { return nil } -func (s *Store) Read(obj Storable) error { +func (s *Store) Read(obj Object) error { dir := filepath.Join(s.root, obj.GetType()) filename := hex.EncodeToString([]byte(obj.GetId()))