Lita Dotenv Config Loader
lita_dotenv is designed to allow storing an entire Lita bot config in an .env file including the following:
- map environment variables to Lita config properties
- coerce environment variable value types to Ruby types
- load .env file if exists
The lita_config.rb file should be as simple as:
require 'lita_dotenv'
Lita.configure do |config|
config = LitaDotenv.new(config).config
endInstallation
Add lita_dotenv to your Lita instance's Gemfile:
gem "lita_dotenv"Configuration
.env
DotenvConfig uses a simple parser that follows the following rules for assigning ENV variable names to Lita paths:
- all paths begin with
LITA_ - all paths are designed to match Lita configure paths
- optional type coercion is available by setting the type as a suffix:
- Symbol:
__TYPESYM - Boolean:
__TYPEBOOL - Integer:
__TYPEINT - JSON:
__TYPEJSON - JSON with symbole keys:
__TYPEJSONSYM - underscores are handled in paths by using camelCase starting with a lowercase letter where an underscore is inserted before each uppercase letter
LITA_ROBOT_NAME=Configbot # config.robot.name = 'Configbot'
LITA_ROBOT_LOCALE__TYPESYM=en # config.robot.locale = :en
LITA_ROBOT_logLevel__TYPESYM=info # config.robot.log_level = :info
lita_config.rb
In the ideal case, the lita_config.rb file should be as simple as:
require 'lita_dotenv'
Lita.configure do |config|
config = LitaDotenv.new(config).config
endTo Do
- Map config hash key values, e.g.
config.redis[:url]
Change Log
See CHANGELOG.md
Links
Project Repo
Lita
Contributing
- Fork it ( http://github.com/grokify/lita_dotenv/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
License
Lita Dotenv Config Loader is available under the MIT license. See LICENSE.txt for details.
Lita Dotenv Config Loader © 2016 by John Wang