diff options
| author | Eyal Posener <[email protected]> | 2019-07-01 07:18:04 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-07-01 07:18:04 +0300 |
| commit | 33efd44daa11a504c05c66f2b61211876f6e0b28 (patch) | |
| tree | 028139ccfc5b79af1bc360c6743c79162ec474a5 /cmd/install/bash.go | |
| parent | 60e9d0a237999e714fb4d04727fe7ffa1b377c6e (diff) | |
| parent | c6bcb58fc4de17d39c7b428b34659c12600263f9 (diff) | |
Merge pull request #94 from vadmeste/add-is-installed
Add IsInstalled API to installer interface
Diffstat (limited to 'cmd/install/bash.go')
| -rw-r--r-- | cmd/install/bash.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/cmd/install/bash.go b/cmd/install/bash.go index a287f99..17c64de 100644 --- a/cmd/install/bash.go +++ b/cmd/install/bash.go @@ -10,20 +10,25 @@ type bash struct { rc string } -func (b bash) Install(cmd, bin string) error { +func (b bash) IsInstalled(cmd, bin string) bool { completeCmd := b.cmd(cmd, bin) - if lineInFile(b.rc, completeCmd) { + return lineInFile(b.rc, completeCmd) +} + +func (b bash) Install(cmd, bin string) error { + if b.IsInstalled(cmd, bin) { return fmt.Errorf("already installed in %s", b.rc) } + completeCmd := b.cmd(cmd, bin) return appendToFile(b.rc, completeCmd) } func (b bash) Uninstall(cmd, bin string) error { - completeCmd := b.cmd(cmd, bin) - if !lineInFile(b.rc, completeCmd) { + if !b.IsInstalled(cmd, bin) { return fmt.Errorf("does not installed in %s", b.rc) } + completeCmd := b.cmd(cmd, bin) return removeFromFile(b.rc, completeCmd) } |
