-
-
Notifications
You must be signed in to change notification settings - Fork 25
Gem Comparison
We reviewed many other gems and we encourage you to check them out to see if they meet your needs better than Chamber does. Here are our candidates:
Here are the breakdowns of their features. Hover over any item for a more detailed explanation.
Note on Namespaces: When you see the word "namespaces" in the table below, and you've never used Chamber before, you may be a little confused. It simply means a way of segregating the same settings keys between different use cases. The most common of these is environment. For example your API key for Stripe may be one thing in
test
and another thing inproduction
.All other settings libraries focus on the environment. While this is the most common, there are other use cases such as a namespace for CI or a namespace for a dev's local computer. In Chamber these are first class citizens. So while the libraries below may get a checkmark for a namespace row, know that Chamber's namespacing is much more powerful.
I've made every attempt to be as accurate as possible. If I'm incorrect on any of these, please let me know via an issue.
Chamber | Config | Configatron | Configus | Dotenv | Econfig | Figaro | Global | Rails | ||
---|---|---|---|---|---|---|---|---|---|---|
Version | ||||||||||
Downloads | ||||||||||
Overall Rank | ||||||||||
Daily Rank | ||||||||||
Latest Commit | ||||||||||
Stars | ||||||||||
Contributors | ||||||||||
Open Issues | ||||||||||
Open Pulls | ||||||||||
Test Coverage | N/A | |||||||||
Build Status | ||||||||||
Maintainability | N/A | |||||||||
Documentation | ||||||||||
Accessing | ||||||||||
Accessed Via | Constant | Constant | MKM 1 | MKM 1 | ENV | RAO 5 | ENV / Constant | Constant | RS 6 | |
Object Notation | ||||||||||
Hash Notation | ||||||||||
Multiple Namespaces | ||||||||||
Formatting | ||||||||||
Format | File | File | Direct / Manual | File | File | File / Database / Redis | File | File | File | |
File Template Style | YAML | YAML | N/A | Ruby DSL | Key/Value | YAML | YAML | YAML | YAML | |
Dynamic Values | ERB | ERB | Ruby | Nested Shell Commands | ERB | ERB | ERB | |||
Arbitrary File Organization | ||||||||||
Nested Values | ||||||||||
Schema Validation | ||||||||||
Tamper Verification | ||||||||||
Embedded Namespaces | N/A | |||||||||
Mix-and-Match Data | N/A | N/A | N/A | N/A | N/A | N/A | N/A | |||
File Layout | ||||||||||
Namespaced Files | 7 | 7 | 7 | |||||||
Host-Based Settings | 8 | 8 | ||||||||
Host-Based Committable? | N/A | N/A | N/A | N/A | N/A | N/A | ||||
Allowed Types | ||||||||||
Strings | ||||||||||
Booleans | ||||||||||
Integers | ||||||||||
Floats | ||||||||||
Regex | ||||||||||
Arrays | ||||||||||
Hashes | ||||||||||
Symbols | ||||||||||
Arbitrary Ruby Objects | ||||||||||
ENV Integration | ||||||||||
ENV Overrides | ||||||||||
ENV Substitutions | ||||||||||
Basic Types | N/A | N/A | N/A | N/A | ||||||
Complex Types | N/A | N/A | N/A | N/A | ||||||
Shell Commands | 10 | N/A | N/A | N/A | N/A | |||||
Nested ENV Variables | 10 | N/A | N/A | N/A | N/A | |||||
Schema-Based | N/A | N/A | N/A | N/A | ||||||
Official Support | ||||||||||
Standalone/Gem | ||||||||||
Rails | 11 | |||||||||
Rails Engines | ||||||||||
Detect Rails Environment | 11 | |||||||||
Sinatra | ||||||||||
Padrino | ||||||||||
Hanami | ||||||||||
Javascript | ||||||||||
Heroku Integration | ||||||||||
Travis Integration | ||||||||||
CircleCI Integration | ||||||||||
Security | ||||||||||
Encryption Method | Public/Private RSA Keys | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Symmetric | |
Human Readable? | N/A | N/A | N/A | N/A | N/A | N/A | N/A | |||
ENV Key Detection | ||||||||||
Git Commit Hook | 9 | |||||||||
Settings Encrypted | ||||||||||
Per-Setting Encryption | ||||||||||
Complex Value Encryption | ||||||||||
Files Committable | ||||||||||
Keys Per Namespace | ||||||||||
Command Line | ||||||||||
CLI | 2 | 2 | ||||||||
Architecture | ||||||||||
No Monkey Patching | Opt-Out | 12 | ||||||||
Extendable |
Copyright ©2023
- Release News
- Gem Comparison
- 12-Factor App Rebuttal
- Environment Variable Problems
- Installation
- Basics
- Defining Settings
- Accessing Settings
- Verifying Settings
- Namespaces
- Environment Variables
- Integrations
- Encryption
- Advanced Usage
- Command Line Reference