Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
README.md
Rakefile
home-dotenv.gemspec

README.md

home-dotenv

Combines ~/.env and ENV into a HOME_ENV hash.

Instalation

gem install home-dotenv

# or in a Gemfile
gem 'home-dotenv'

Examples

Explanation

So, you have scripts run on your system and you have config variables for those scripts (keys, usernames, passwords, hostnames, etc).

A unified way to access those globals would be nice instead of hard-coding them or passing them as parameters.

So, now you can put all your variables in ~/.env like so:

SUPER_SECRET_PASSWORD=i-definitely-don-t-want-people-to-see-this
AWS_KEY=abcdefgh
SECRET_HOST=https://private.secret.com

Then, in your scripts:

require 'home-dotenv/load'

# or

require 'home-dotenv'
HOME_ENV = HomeDotenv.parse

# then

require 'open-uri'
open(HOME_ENV[:SECRET_HOST]).read

Parsing rules:

  • if the line is empty or starts by "#" (comment), ignore
  • otherwise, string before the first "=" is key, after that it's the value
  • result is a hash indexed by symbol, e.g. HOME_ENV[:AWS_KEY]