Summary
| Feature | Status | Notes |
|---|---|---|
| Maintainability | ✔ | Complexity, duplication, code smells |
| Linting | ✔ | |
| Auto-formatting | ✔ | |
| Custom checks | ✔ | |
| Security scanning | ✔ | AppSec, dependencies, and secrets |
| Code metrics | ✔ | |
| Code coverage | ✔ |
Details
| Maintainability | ||
| Complexity | ✔ | Aka cognitive complexity |
| Cyclomatic complexity | ✔ | |
| Identical code duplication | ✔ | |
| Similar code duplication | ✔ | |
| Code smells | ✔ | |
| Linters | ||
| RuboCop | ✔ | Ruby static code analyzer and formatter |
| Reek | ✔ | Code smell detector for Ruby |
| StandardRB | ✔ | Ruby style guide, linter, and formatter |
| Brakeman | ✔ | Static analysis security vulnerability scanner |
| Auto-formatters | ||
| RuboCop | ✔ | Includes formatting capabilities |
| StandardRB | ✔ | Zero-config Ruby formatter |
| Custom checks | ||
| ast-grep | ✔ | |
| Semgrep | ✔ | |
| ripgrep | ✔ | |
| Security scanning | ||
| Brakeman | ✔ | AppSec (SAST) for Ruby on Rails applications |
| Gitleaks | ✔ | Secrets scanning |
| OSV-Scanner | ✔ | Dependency scanning (SCA) |
| Semgrep | ✔ | AppSec (SAST) |
| Trivy | ✔ | Dependency scanning (SCA) |
| TruffleHog | ✔ | Secrets scanning |
| Code coverage | ||
| SimpleCov | ✔ | |
| Cobertura coverage format | ✔ | |
| JSON coverage format | ✔ |
File extensions
By default, Ruby files are defined as:qlty.toml.
Code coverage setup
QLTY supports code coverage for Ruby through SimpleCov. For a full working example, see our example Ruby repository.SimpleCov configuration
To instrument test coverage with SimpleCov:- Install SimpleCov:
- Configure SimpleCov to generate JSON reports:
MultiFormatter:
- Publish SimpleCov’s JSON coverage reports using
qlty coverage publish: