Skip to content
This repository has been archived by the owner on Jul 19, 2024. It is now read-only.
/ crystal-dotenv Public archive
forked from drum445/dotenv

Load .env files in crystal

License

Notifications You must be signed in to change notification settings

dext/crystal-dotenv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotenv

Loads a .env file in Crystal and optionally sets values directly into your ENV. Will always return the .env file as a hash regardless of whether you chose to load into your ENV or not. Will treat a non-existent .env file as an empty one.

Installation

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

Usage

require "dotenv"

Having a .env file

ENV=dev
PORT=3000
LOGGING=true
CORS=*

DB_DRIVER=mysql
DB_USERNAME=root
DB_PASSWORD=password
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=test
Using a file called .env and loading into your ENV
require "dotenv"

Dotenv.load # => {"ENV" => "dev", "PORT" => "3000", "LOGGING" => "true", "CORS" => "*", "DB_DRIVER" => "mysql", "DB_USERNAME" => "root", "DB_PASSWORD" => "password", "DB_HOST" => "localhost", "DB_PORT" => "3306", "DB_DATABASE" => "test"}
Using a file called .env and NOT loading into your ENV
require "dotenv"

hash = Dotenv.load(set_env: false)
Using a file NOT called .env and loading into your ENV
require "dotenv"

Dotenv.load(path: ".env.live")

Overriding

By default the existing environment will be overriden by contents of the .env file. To disable this behaviour pass false to override_env parameter:

require "dotenv"

hash = Dotenv.load(override_env: false)

Development

  1. Clone the repository: git clone [email protected]:drum445/dotenv.git. There are no dependencies, so no shards install is needed (but won't do any harm).
  2. Change into the project root directory: cd dotenv.
  3. Run specs: crystal spec.

Contributing

  1. Fork it (https://github.com/drum445/dotenv/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

Packages

No packages published

Languages

  • Crystal 85.5%
  • Shell 14.5%