CanCanCommunity/cancancan
CanCanCan is a Ruby gem that provides authorization and access control for Rails applications. It allows developers to define user permissions and validates them against controller actions and model attributes. The system supports multiple Rails and ActiveRecord versions, offering configurable SQL query strategies for efficient database access. It also includes generators to scaffold ability classes and enforces code quality through automated testing and linting.
67.5
Adequate · 2 August 2026
2.5k
lines of production code
Ruby
primary language
3
bus factor · 241 authors in all
3
measurements over time
How it got here
2009 · CanCanCan rebrand and modularization
The project was rebranded from CanCan to CanCanCan, introducing a more modular and extensible architecture for handling access control rules. This period focused on refactoring internal authorization logic into dedicated matcher and controller resource classes, while updating the build infrastructure and test suite for modern Ruby and RSpec versions.
5 changes
2010 · CanCan authorization and adapter refactoring
This period focused on enhancing the CanCan authorization library by introducing a Rails generator for creating ability classes and refactoring the core model adapters. The refactoring established a modular, version-specific architecture to improve compatibility with Rails 4 through 7.2, supported by comprehensive test coverage for the new adapter structure.
5 changes
2014–2021 · Rails 6/7 compatibility and query optimization
This period focused on expanding compatibility with modern Rails versions (6.0 through 7.1) and enhancing the library's SQL query generation strategies for improved performance. It also introduced features like action aliasing and strong parameter support, alongside test infrastructure improvements to support these changes.
4 changes
Survey your own repository
CanCanCommunity/cancancan was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.
About this page
- The description of this project is derived from its own commit history, not from its README.
- The score is its highest published measurement, taken on 2 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 8c1bf153a3 — the exact code this score is about.
- Scored under rubric rubric-2026.08.18. Score the same commit under that rubric and you get the same number.