Skip to content

Commit

Permalink
Merge 968851a into 40715fb
Browse files Browse the repository at this point in the history
  • Loading branch information
josephmancuso committed Oct 11, 2018
2 parents 40715fb + 968851a commit a8afc54
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 1 deletion.
12 changes: 12 additions & 0 deletions masonite/environment.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,15 @@ def _load_environment(self, env, override=False):
"""
env_path = str(Path('.') / '.env.{}'.format(env))
load_dotenv(dotenv_path=env_path, override=override)


def env(value, default=None):
env_var = os.getenv(value, default)
if env_var.isnumeric():
return int(env_var)
elif env_var in ('false', 'False'):
return False
elif env_var in ('true', 'True'):
return True
else:
return env_var
27 changes: 26 additions & 1 deletion tests/test_environment.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from masonite.environment import LoadEnvironment
from masonite.environment import LoadEnvironment, env
import os


Expand Down Expand Up @@ -27,3 +27,28 @@ def test_environment_only_loads(self):
LoadEnvironment(only='local')
assert 'LOCAL' in os.environ
assert os.environ.get('LOCAL') == 'TEST'

class TestEnv:

def test_env_returns_numeric(self):
os.environ["numeric"] = "1"
assert env('numeric') == 1

def test_env_returns_numeric_with_default(self):
os.environ["numeric"] = "1"
assert env('na', '1') == 1

def test_env_returns_bool(self):
os.environ["bool"] = "True"
assert env('bool') == True
os.environ["bool"] = "true"
assert env('bool') == True
os.environ["bool"] = "False"
assert env('bool') == False
os.environ["bool"] = "false"
assert env('bool') == False

def test_env_returns_default(self):
os.environ["test"] = "1"
assert env('na', 'default') == 'default'

0 comments on commit a8afc54

Please sign in to comment.