package envy
import "github.com/gobuffalo/envy"
package envy makes working with ENV variables in Go trivial.
* Get ENV variables with default values. * Set ENV variables safely without affecting the underlying system. * Temporarily change ENV vars; useful for testing. * Map all of the key/values in the ENV. * Loads .env files (by using godotenv(https://github.com/joho/godotenv/)) * More!
Index ¶
- Constants
- func CurrentModule() (string, error)
- func CurrentPackage() string
- func Environ() []string
- func Get(key string, value string) string
- func GoBin() string
- func GoPath() string
- func GoPaths() []string
- func InGoPath() bool
- func Load(files ...string) error
- func Map() map[string]string
- func Mods() bool
- func MustGet(key string) (string, error)
- func MustSet(key string, value string) error
- func Reload()
- func Set(key string, value string)
- func Temp(f func())
Constants ¶
const GO111MODULE = "GO111MODULE"
GO111MODULE is ENV for turning mods on/off
const Version = "v1.7.1"
Functions ¶
func CurrentModule ¶
CurrentModule will attempt to return the module name from `go.mod` if modules are enabled. If modules are not enabled it will fallback to using CurrentPackage instead.
func CurrentPackage ¶
func CurrentPackage() string
CurrentPackage attempts to figure out the current package name from the PWD Use CurrentModule for a more accurate package name.
func Environ ¶
func Environ() []string
func Get ¶
Get a value from the ENV. If it doesn't exist the default value will be returned.
func GoBin ¶
func GoBin() string
func GoPath ¶
func GoPath() string
func GoPaths ¶
func GoPaths() []string
GoPaths returns all possible GOPATHS that are set.
func InGoPath ¶
func InGoPath() bool
func Load ¶
Load .env files. Files will be loaded in the same order that are received. Redefined vars will override previously existing values. IE: envy.Load(".env", "test_env/.env") will result in DIR=test_env If no arg passed, it will try to load a .env file.
func Map ¶
Map all of the keys/values set in envy.
func Mods ¶
func Mods() bool
Mods returns true if module support is enabled, false otherwise See https://github.com/golang/go/wiki/Modules#how-to-install-and-activate-module-support for details
func MustGet ¶
Get a value from the ENV. If it doesn't exist an error will be returned
func MustSet ¶
MustSet the value into the underlying ENV, as well as envy. This may return an error if there is a problem setting the underlying ENV value.
func Reload ¶
func Reload()
Reload the ENV variables. Useful if an external ENV manager has been used
func Set ¶
Set a value into the ENV. This is NOT permanent. It will only affect values accessed through envy.
func Temp ¶
func Temp(f func())
Temp makes a copy of the values and allows operation on those values temporarily during the run of the function. At the end of the function run the copy is discarded and the original values are replaced. This is useful for testing. Warning: This function is NOT safe to use from a goroutine or from code which may access any Get or Set function from a goroutine
Source Files ¶
- Version
- v1.8.1
- Published
- Nov 21, 2019
- Platform
- windows/amd64
- Imports
- 12 packages
- Last checked
- now –
Tools for package owners.