From 7b87384252b78e352a84335a02930da2123488bd Mon Sep 17 00:00:00 2001 From: Fred Date: Sat, 20 May 2023 20:48:29 +0100 Subject: [PATCH] use interface instead of implementation --- lib/disk_status.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/disk_status.go b/lib/disk_status.go index 262b29a..3ad701b 100644 --- a/lib/disk_status.go +++ b/lib/disk_status.go @@ -31,7 +31,7 @@ type DiskStatus struct { func NewDiskStatus(name string, config cfg.DiskPowerStatus) (*DiskStatus, error) { var timeout time.Duration - var checkCommand, standbyCommand *Command + var checkCommand, standbyCommand CommandRunner var err error if config.Timeout != "" { @@ -78,8 +78,7 @@ func (s *DiskStatus) Get(expandEnv func(string) string) enum.DiskStatus { return enum.DiskStatusUnknown } - // we check that the interface value is not nil, then that the implementation value is not nil - if s.checkCommand != nil && s.checkCommand.(*Command) != nil { + if s.checkCommand != nil { output, err = s.checkCommand.Run(nil, expandEnv) if err != nil { return enum.DiskStatusUnknown @@ -120,8 +119,7 @@ func (s *DiskStatus) Standby(expandEnv func(string) string) error { s.mutex.Lock() defer s.mutex.Unlock() - // we check that the interface value is nil, or that the implementation value is nil - if s.standbyCommand == nil || s.standbyCommand.(*Command) == nil { + if s.standbyCommand == nil { return errors.New("no command defined to put the disk in standby mode") } _, err := s.standbyCommand.Run(nil, expandEnv)