gitlab.com/evatix-go/core@v1.3.55/chmodhelper/tempDirGetter.go (about)

     1  package chmodhelper
     2  
     3  import "gitlab.com/evatix-go/core/internal/osconstsinternal"
     4  
     5  type tempDirGetter struct{}
     6  
     7  // TempDefault
     8  //
     9  // Example:
    10  //  - unix    : /tmp
    11  //  - windows : %temp%
    12  func (it tempDirGetter) TempDefault() string {
    13  	return TempDirDefault
    14  }
    15  
    16  // TempPermanent
    17  //
    18  // Windows:
    19  //  - c:\\windows\\temp
    20  //
    21  // unix:
    22  //  - /var/tmp/
    23  //
    24  // Reference:
    25  //  - Why "/var/tmp/" : https://prnt.sc/gW0DA5d4jt6R
    26  func (it tempDirGetter) TempPermanent() string {
    27  	if osconstsinternal.IsWindows {
    28  		return osconstsinternal.WindowsPermanentTemp
    29  	}
    30  
    31  	// unix
    32  	return osconstsinternal.LinuxPermanentTemp
    33  }
    34  
    35  func (it tempDirGetter) TempOption(isPermanent bool) string {
    36  	if isPermanent {
    37  		return it.TempPermanent()
    38  	}
    39  
    40  	return it.TempDefault()
    41  }