func()

in pkg/fix_local_file.go [28:56]


func (lf *LocalFileFix) Apply() error {
	fm, err := toDecimal(*lf.Mode)
	if err != nil {
		return err
	}

	fs := FsFactory()
	for _, path := range lf.Paths {
		dir := filepath.Dir(path)
		dirExists, dirCheckErr := afero.DirExists(fs, dir)
		if dirCheckErr != nil {
			err = multierror.Append(err, dirCheckErr)
			continue
		}
		if !dirExists {
			mkDirErr := fs.MkdirAll(dir, 0755)
			if mkDirErr != nil {
				err = multierror.Append(err, mkDirErr)
				continue
			}
		}
		writeErr := afero.WriteFile(fs, path, []byte(lf.Content), fm)
		if writeErr != nil {
			err = multierror.Append(err, writeErr)
		}
	}

	return err
}