All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
- 🐛 CLI Architecture Redesign - Completely fixed
bundle exec env_checkcompatibility- Moved CLI logic from executable to
lib/env_check/cli.rbasEnvCheck::CLIclass - Simplified executable to just load gem and call CLI class
- Fixed shebang line and file corruption issues
- Now works reliably with both
bundle execand direct gem installation
- Moved CLI logic from executable to
- 🐛 CLI Executable Loading - Fixed
bundle exec env_checkcommand not working properly- Improved require statement to work in both development and installed gem environments
- Added fallback loading mechanism for better compatibility
- Executable now works correctly with bundler in Rails applications
- ✨ Smart Config Discovery - Auto-detects
.env_check.yml(root) orconfig/env_check.yml(Rails) - ✨ Enhanced Validator Suite - Comprehensive validation types:
boolean- Validates boolean values includingtrue/false,1/0,yes/no,on/offinteger- Validates integer numbers (including negative)float- Validates floating point numbersstring- Validates any string valueurl- Validates URLs starting withhttp://orhttps://email- Validates email formatport- Validates port numbers (1-65535)path- Validates file/directory pathsjson- Validates JSON strings
- 🎯 Result Object -
EnvCheck.verifyreturns aResultobject withsuccess?,errors,warnings, andvalid_varsproperties - � Enhanced CLI with
check,version, andinitcommands with professional UX - 🏗️ Environment-specific Configuration - Support for development, test, production sections
- 🧪 Comprehensive Test Suite - 21 test cases covering all functionality
- � Flexible YAML Configuration - Supports both hash and array formats for optional variables
- 📝 Rake Task Integration -
rake env:checkfor CI usage - 📖 Comprehensive Documentation and examples
- Smart Configuration Discovery: Prioritizes
.env_check.yml(simple projects) overconfig/env_check.yml(Rails) - Type Validation: Robust validation with helpful error messages for all supported types
- Environment-specific Settings: Different validation rules for development, test, and production
- Flexible YAML Formats: Supports both
optional: { VAR: type }andoptional: [{ VAR: type }]formats - CLI Tools: Professional command-line interface for initialization and validation
- Rails Integration: Seamless integration with Rails 7.1+ applications
- Dotenv Support: Automatic
.envfile loading when available - Null/Empty Handling: Graceful handling of missing and empty environment variables
- Modular Architecture: Separate
Config,Validators, andResultclasses - Error Handling: Structured result objects with detailed error reporting
- Code Quality: Zero RuboCop offenses, comprehensive test coverage
- Thread-safe: Safe for concurrent usage
- Framework Agnostic: Works with any Ruby application, optimized for Rails
- Ruby: 3.0+
- Rails: 7.1+ through 8.0+ (framework-agnostic design)
- CI/CD: Comprehensive GitHub Actions integration