add Readme too
This commit is contained in:
parent
b5395df086
commit
352cb4bf6d
|
@ -0,0 +1,56 @@
|
|||
ensure
|
||||
======
|
||||
|
||||
Ensure is a small library to help ensure state on a UNIX system. It is
|
||||
currently pretty basic and doesn't have much to offer apart from a
|
||||
file/directory and exec helper.
|
||||
|
||||
But with these small pieces more should easily be possible and go offers more
|
||||
than enough to implement other functions on top of the ensurer interface and
|
||||
the runner to ensure the state.
|
||||
|
||||
how to use
|
||||
----------
|
||||
|
||||
To use this library use one of the provided resources or implement one yourself
|
||||
with the Ensurer interface.
|
||||
|
||||
Either call Ensure on the resource yourself or let one of the runners do it
|
||||
for all your resources.
|
||||
|
||||
```
|
||||
package main
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"git.zero-knowledge.org/gibheer/ensure"
|
||||
"git.zero-knowledge.org/gibheer/ensure/file"
|
||||
)
|
||||
|
||||
func main() {
|
||||
tmpDir, _ := ioutil.TempDir("", "")
|
||||
defer os.RemoveAll(tmpDir)
|
||||
f := &file.F{
|
||||
Path: path.Join(tmpDir, "test")
|
||||
}
|
||||
if !f.Is() {
|
||||
if err := f.Ensure(); err != nil {
|
||||
fmt.Fatalf("could not ensure file: %s\n", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Use a runner to ensure multiple resources blocked by a check.
|
||||
// In case of the runner, ensure will also run Is() before making changes.
|
||||
// Better read the documentation, not all resources do that or can do that.
|
||||
r := &ensure.Runner{
|
||||
States: []ensure.Ensurer{f},
|
||||
Is: f.Is,
|
||||
}
|
||||
if err := r.Ensure(); err != nil {
|
||||
fmt.Fatalf("could not ensure directory: %s", err)
|
||||
}
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue