Loading pkg/persistence/json/json.go +7 −2 Original line number Diff line number Diff line Loading @@ -42,14 +42,19 @@ func (f *JsonPersistence) Save(i interface{}) error { dirPath := path.Dir(f.filename) os.MkdirAll(dirPath, 0700) fh, err := os.Create(f.filename) fh, err := os.Create(f.filename + ".tmp") if err != nil { return err } defer fh.Close() enc := json.NewEncoder(fh) return enc.Encode(i) err = enc.Encode(i) if err != nil { return err } return os.Rename(f.filename+".tmp", f.filename) } // New returns a new JsonPersistence instance. Loading pkg/persistence/json/json_test.go +2 −0 Original line number Diff line number Diff line Loading @@ -31,9 +31,11 @@ func TestSaveLoad(t *testing.T) { os.Remove(p.filename) }() s1false := &Struct{Foo: "bar", Bar: 1235} s1 := &Struct{Foo: "foo", Bar: 1234} s2 := &Struct{} p.Save(s1false) p.Save(s1) p.Load(s2) Loading Loading
pkg/persistence/json/json.go +7 −2 Original line number Diff line number Diff line Loading @@ -42,14 +42,19 @@ func (f *JsonPersistence) Save(i interface{}) error { dirPath := path.Dir(f.filename) os.MkdirAll(dirPath, 0700) fh, err := os.Create(f.filename) fh, err := os.Create(f.filename + ".tmp") if err != nil { return err } defer fh.Close() enc := json.NewEncoder(fh) return enc.Encode(i) err = enc.Encode(i) if err != nil { return err } return os.Rename(f.filename+".tmp", f.filename) } // New returns a new JsonPersistence instance. Loading
pkg/persistence/json/json_test.go +2 −0 Original line number Diff line number Diff line Loading @@ -31,9 +31,11 @@ func TestSaveLoad(t *testing.T) { os.Remove(p.filename) }() s1false := &Struct{Foo: "bar", Bar: 1235} s1 := &Struct{Foo: "foo", Bar: 1234} s2 := &Struct{} p.Save(s1false) p.Save(s1) p.Load(s2) Loading