lucky_env

An environment variable manager
0.2.0 Latest release released

LuckyEnv

Yet another environment variable manager. Read from a file like a .env

Installation

  1. Add the dependency to your shard.yml:
dependencies:
  lucky_env:
    github: luckyframework/lucky_env
  1. Run shards install

Usage

Environment variable file

Create your "env" file. Name it whatever you want. Most common is .env.

The file is created with key/value pairs separated by =.

APP_NAME=my_app
LUCKY_ENV=development
DEV_PORT=3002
DB_NAME=${APP_NAME}_${LUCKY_ENV}

Crystal code

# This would normally go in your `src/shards.cr` file
require "lucky_env"

# Loads the ".env" file. Raises if it is missing
LuckyEnv.load(".env")

# Use `load?` if the file is optional. 
# This will not raise if the file is missing
LuckyEnv.load?(".env")

ENV["LUCKY_ENV"] == "development" # => true

# Returns whatever `ENV["LUCKY_ENV"]` is set to, or `"development"` if not set.
LuckyEnv.environment # => "development"

# Environment predicates
LuckyEnv.development? # => true
LuckyEnv.production? # => false
LuckyEnv.test? # => false

Development

Install shards shards install, and start making changes. Be sure to run ./bin/ameba, and the crystal formatter crystal tool format spec src.

Read through the issues for things you can work on. If you have an idea, feel free to open a new issue!

Contributing

  1. Fork it (https://github.com/luckyframework/lucky_env/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

lucky_env:
  github: luckyframework/lucky_env
  version: ~> 0.2.0
License MIT
Crystal >= 1.4.0

Authors

Dependencies 0

Development Dependencies 1

  • ameba ~> 1.5.0
    {'github' => 'crystal-ameba/ameba', 'version' => '~> 1.5.0'}

Dependents 5

Last synced .
search fire star recently