contracts.ruby brings code contracts to the Ruby language. Code contracts allow you make some assertions about your code, and then checks them to make sure they hold. This lets you
- catch bugs faster,
- make it very easy to catch certain types of bugs,
- make sure that the user gets proper messaging when a bug occurs.
This is the official documentation site for contracts.ruby. Much of the documentation you see here is written with Cucumber, which provides executable documentation. The
Cucumber features you see here have all been run against contracts.ruby's codebase, serving as specification, documentation and regression tests of the behavior.
You can find full API documentation for contracts.ruby here: contracts.ruby.
Help make this documentation better!
Please submit feedback and patches on this documentation to: contracts.ruby issues