Poncho - A .env parser/loader improved for performance.


Poncho is a .env parser/loader improved for performance.

Mostly full support of parsing rules

Poncho parses the contents of your file containing environment variables is available to use. It accepts a String or IO and will return an Hash with the parsed keys and values. Currently supports the following rules:

  • Skipped the empty line and comment(#).
  • Ignore the comment which after (#).
  • NAME=foo becomes {"NAME" => "foo"}.
  • Empty values become empty strings.
  • Whirespace is removed from right ends of the value.
  • Single and Double quoted values are escaped.
  • New lines are expanded if in double quotes.
  • Inner quotes are maintained (such like json).
  • Overwrite optional (default is non-overwrite).
  • Only accpets string type value.

Following twelve-factor app of loading orders

Poncho loads the environment file is easy to use. It accepts both single file (or path) and multiple files. Loads single file supports the following order with environment name (default is development):

  • .env - The Original®
  • .env.development - Environment-specific settings.
  • .env.local - Local overrides. This file is loaded for all environments except test.
  • .env.development.local - Local overrides of environment-specific settings.

Read more: https://github.com/icyleaf/poncho

Ruby on Rails to Lucky on Crystal: Blazing fast, fewer bugs, and even more fun.


Ruby on Rails to Lucky on Crystal: Blazing fast, fewer bugs, and even more fun.

I love Ruby and I love Rails, but I’ve found myself searching for something more. Something fast so I don’t need to add caching. Something type-safe so customers see fewer bugs. Something fun to use so I actually enjoy building applications.

Totem: Crystal configuration with spirit.



What is Totem?

Configuration file formats is always the problem, you want to focus on building awesome things. Totem is here to help with that.

Totem has following features:

Load and parse a configuration file or string in JSON, YAML, dotenv formats. Reading from environment variables. Provide a mechanism to set default values for your different configuration options. Provide an alias system to easily rename parameters without breaking existing code. Write configuration to file with JSON, YAML formats. Uses the following precedence order. Each item takes precedence over the item below it:

  • alias
  • override, explicit call to set
  • env
  • config
  • default

Totem configuration keys are case insensitive.