Crate macro_env

Source
Expand description

§Macro_env: An environment variable seeking crate

Macro_env is a crate to find environment variables.
Originally designed to easily fetch environment variables from different places without having to change a lot of different code.
By simply changing the SearchType in the macro or in the function, it fetches the variable from a different location.

§Usage

First add:

[dependencies]
macro_env = "0.1.*"

Macro

// Import the crate, importing the whole crate is the easiest
// You can also manually import the function you need, for .env search for example:
// `use macro_env::{dotenvreader, macro_env};`
use macro_env::*;

// Fetch the environment variable "OS" from the .env file at the cargo.toml level
macro_env!(File, "OS");

// Fetch the environment variable "OS" from the system environment variables
macro_env!(System, "OS");

// Asks the user for enter the input through the terminal
macro_env!(Input);

// All, without specifying the searchtype, will try to find the variable through all 3 methods:
// First it checks for a .env file
// Then by searching for a system variable
// And if both fail, it will ask the user for input
macro_env!(All, "OS");
macro_env!("OS");

EnvSeeker()

use macro_env::*;
use macro_env::SearchType::*;
// You can use envseeker() when you prefer using a function over a macro
envseeker(Envfile, "OS")

Macros§

macro_env
macro_env!() is used to fetch environment variables.

Enums§

SearchType
Searchtype for the fn envseeker(), this will define what type of search it performs

Functions§

dotenvreader
Reads the .env file and tries to find the .env variable.
envseeker
A function instead of a macro to find the environment variable
input
Request user input input() fetches stdin.read_lines() and then trims them.
systemreader
Fetch the environment variable from the system environment variable