github.com/asifdxtreme/cli@v6.1.3-0.20150123051144-9ead8700b4ae+incompatible/fileutils/tmp_utils.go (about)

     1  package fileutils
     2  
     3  import (
     4  	"io/ioutil"
     5  	"os"
     6  )
     7  
     8  func TempDir(namePrefix string, cb func(tmpDir string, err error)) {
     9  	tmpDir, err := ioutil.TempDir("", namePrefix)
    10  
    11  	defer func() {
    12  		os.RemoveAll(tmpDir)
    13  	}()
    14  
    15  	cb(tmpDir, err)
    16  }
    17  
    18  func TempFile(namePrefix string, cb func(tmpFile *os.File, err error)) {
    19  	tmpFile, err := ioutil.TempFile("", namePrefix)
    20  
    21  	defer func() {
    22  		tmpFile.Close()
    23  		os.Remove(tmpFile.Name())
    24  	}()
    25  
    26  	cb(tmpFile, err)
    27  }