(filepathOrDirectory string)
| 19 | } |
| 20 | |
| 21 | func (loc Locator) Path(filepathOrDirectory string) (string, bool, error) { |
| 22 | info, err := os.Stat(filepathOrDirectory) |
| 23 | if os.IsNotExist(err) { |
| 24 | return "", false, nil |
| 25 | } else if err != nil { |
| 26 | return "", false, err |
| 27 | } |
| 28 | |
| 29 | resolvedFilepathOrDirectory, err := filepath.EvalSymlinks(filepathOrDirectory) |
| 30 | if err != nil { |
| 31 | return "", false, err |
| 32 | } |
| 33 | |
| 34 | if info.IsDir() { |
| 35 | return loc.handleDir(resolvedFilepathOrDirectory) |
| 36 | } |
| 37 | |
| 38 | return loc.handleFilepath(resolvedFilepathOrDirectory) |
| 39 | } |
| 40 | |
| 41 | func (loc Locator) handleDir(dir string) (string, bool, error) { |
| 42 | for _, filename := range loc.FilesToCheckFor { |
no test coverage detected