aboutsummaryrefslogtreecommitdiffhomepage
path: root/system/mkdir.go
diff options
context:
space:
mode:
Diffstat (limited to 'system/mkdir.go')
-rw-r--r--system/mkdir.go27
1 files changed, 13 insertions, 14 deletions
diff --git a/system/mkdir.go b/system/mkdir.go
index 9b92c0f9..64b02496 100644
--- a/system/mkdir.go
+++ b/system/mkdir.go
@@ -6,30 +6,29 @@ import (
"os"
)
-// Ensure appends [MkdirOp] to [I] with its [Enablement] ignored.
+// Ensure ensures the existence of a directory.
func (sys *I) Ensure(name string, perm os.FileMode) *I {
- sys.ops = append(sys.ops, &MkdirOp{User, name, perm, false})
+ sys.ops = append(sys.ops, &mkdirOp{User, name, perm, false})
return sys
}
-// Ephemeral appends an ephemeral [MkdirOp] to [I].
+// Ephemeral ensures the existence of a directory until its [Enablement] is no longer satisfied.
func (sys *I) Ephemeral(et Enablement, name string, perm os.FileMode) *I {
- sys.ops = append(sys.ops, &MkdirOp{et, name, perm, true})
+ sys.ops = append(sys.ops, &mkdirOp{et, name, perm, true})
return sys
}
-// MkdirOp ensures the existence of a directory.
-// For ephemeral, the directory is destroyed once [Enablement] is no longer satisfied.
-type MkdirOp struct {
+// mkdirOp implements [I.Ensure] and [I.Ephemeral].
+type mkdirOp struct {
et Enablement
path string
perm os.FileMode
ephemeral bool
}
-func (m *MkdirOp) Type() Enablement { return m.et }
+func (m *mkdirOp) Type() Enablement { return m.et }
-func (m *MkdirOp) apply(*I) error {
+func (m *mkdirOp) apply(*I) error {
msg.Verbose("ensuring directory", m)
// create directory
@@ -44,7 +43,7 @@ func (m *MkdirOp) apply(*I) error {
}
}
-func (m *MkdirOp) revert(_ *I, ec *Criteria) error {
+func (m *mkdirOp) revert(_ *I, ec *Criteria) error {
if !m.ephemeral {
// skip non-ephemeral dir and do not log anything
return nil
@@ -59,14 +58,14 @@ func (m *MkdirOp) revert(_ *I, ec *Criteria) error {
}
}
-func (m *MkdirOp) Is(o Op) bool {
- target, ok := o.(*MkdirOp)
+func (m *mkdirOp) Is(o Op) bool {
+ target, ok := o.(*mkdirOp)
return ok && m != nil && target != nil && *m == *target
}
-func (m *MkdirOp) Path() string { return m.path }
+func (m *mkdirOp) Path() string { return m.path }
-func (m *MkdirOp) String() string {
+func (m *mkdirOp) String() string {
t := "ensure"
if m.ephemeral {
t = TypeString(m.Type())