Thanks for helping improve ruby_api_pack_cloudways. This gem is maintained by
PHCDevworks as a Ruby/Rails-friendly wrapper around Cloudways API access.
- Clone the repository.
- Install dependencies with
bundle install. - Configure test credentials through environment variables only when live API verification is explicitly needed.
- Run
bundle exec rspec. - Run
bundle exec rubocop.
lib/ruby_api_pack_cloudways.rb: public entry point and configuration hooklib/ruby_api_pack_cloudways/configuration.rb: Cloudways API configurationlib/ruby_api_pack_cloudways/connection/: token and HTTP connection classeslib/ruby_api_pack_cloudways/api/: endpoint wrapper classeslib/ruby_api_pack_cloudways/handlers/: response validation helpersspec/: RSpec coverage for API wrappers, connection behavior, and handlers
- Keep public method names stable unless the change is intentionally breaking.
- Add or update focused RSpec coverage for each endpoint behavior change.
- Keep Cloudways response parsing and validation predictable.
- Avoid host application assumptions; this gem should stay framework-light and Rails-compatible.
- Do not log or commit Cloudways API keys, access tokens, account identifiers, server identifiers from production accounts, or live response payloads.
- Keep token fetching centralized in
Connection::CwToken. - Keep authenticated HTTP behavior centralized in
Connection::CwConnect. - Add specs for success, failure, parsing, and retry paths.
- Update
README.mdwhen configuration or public usage changes. - Update
CHANGELOG.mdunder[Unreleased]for behavior-impacting changes.
- Follow the repo's RuboCop configuration.
- Prefer small, pattern-aligned changes.
- Keep comments brief and only add them when they explain a non-obvious reason.
- Preserve unrelated local changes.
- Do not create commits unless explicitly asked.
Use this checklist when touching any public behavior surface:
lib/ruby_api_pack_cloudways.rblib/ruby_api_pack_cloudways/configuration.rblib/ruby_api_pack_cloudways/connection/lib/ruby_api_pack_cloudways/api/lib/ruby_api_pack_cloudways/handlers/README.md
Before merge:
- Update or add focused specs.
- Run
bundle exec rspec. - Run
bundle exec rubocop. - Build the gem with
gem build ruby_api_pack_cloudways.gemspec. - Update
README.mdif installation, configuration, endpoint, or usage guidance changed. - Update
CHANGELOG.mdunder[Unreleased]. - Classify the change as additive, behavior change, breaking, or docs/config only in the pull request.
- Confirm no secrets or sensitive identifiers appear in logs, fixtures, docs, VCR cassettes, or examples.
- Keep the change focused.
- Fill out every section of
.github/pull_request_template.md. - Link an issue or write
N/A. - Include a concise summary and reviewer notes.
- Leave blocked checklist items unchecked with a short note.
For maintainers, a release should keep these records aligned:
- Update
lib/ruby_api_pack_cloudways/version.rb. - Move relevant
CHANGELOG.md[Unreleased]notes into a dated version entry. - Build the gem from the matching source state.
- Publish release notes from the matching changelog entry.
- Publish to RubyGems only from the reviewed release state.
Open an issue if you need direction before making a larger change.
By participating in this project, you agree to follow the Code of Conduct.
By contributing, you agree that your contributions will be licensed under the MIT License.