- Open an Issue
- Fork the Repository
- Create a Branch
- Write Tests
- Write Code
- Open Pull Request
# Clone the repository
git clone https://github.com/your-username/rails_maint.git
# Install dependencies
bundle install
# Run tests
bundle exec rspec
This project uses Rubocop. Before submitting your code:
bundle exec rubocop
- Create a New Branch (feature or fix)
- Write and Test Your Code
- Run Rubocop Checks
- Write Meaningful Commit Messages
- Open PR and Describe Changes
A good commit message looks like:
feat: Add Turkish language support
- Add tr.yml locale file
- Update middleware to handle Turkish locale
- Add documentation for Turkish support
Always write tests for new features:
RSpec.describe RailsMaint::Middleware do
describe "#call" do
context "when maintenance mode is enabled" do
it "returns maintenance page for non-whitelisted IPs" do
# Your test code here
end
end
end
end
- Update README.md if needed
- Add comments to complex code
- Update CHANGELOG.md
- Add YARDoc documentation for public methods
rails_maint/
├── lib/
│ ├── rails_maint.rb
│ └── rails_maint/
│ ├── version.rb
│ ├── cli.rb
│ ├── middleware.rb
│ ├── helpers/
│ │ └── maintenance_page_helper.rb
│ └── assets/
│ ├── locales/
│ │ ├── en.yml
│ │ └── tr.yml
│ ├── maintenance.html
│ └── default.css
- Update version in version.rb
- Update CHANGELOG.md
- Create a GitHub Release
- Push to RubyGems
Feel free to open an issue or contact maintainers directly.