kontrakt
Version, currently 0.4.19 versions
github.com/ragmaanir/kontrakt
Simple design by contract for crystal
1 stars
1 dependent
License: MIT
Installation
# Add this to your shard.yml
dependencies:
kontrakt:
github: ragmaanir/kontrakt
version: ~> 0.4.1Then run:
shards installshard.yml
- Crystal
>= 0.35.1- License
- MIT
- Author
- ragmaanir
Dependencies
Development Dependencies
- microtest*github: ragmaanir/microtest, branch: masterdev
README
kontrakt 
Kontrakt provides two macros to implement very simple design-by-contract style checks.
Installation
Add this to your application's shard.yml:
dependencies:
kontrakt:
github: ragmaanir/kontrakt
Usage
require "kontrakt"
Kontrakt.precondition(1 == 5) # raises
Kontrakt.postcondition(3 == 3 && true != false) # passes
To disable the conditions set DISABLE_CONTRACTS env var:
DISABLE_CONTRACTS=1 crystal spec
TODO
- output the values of the variables used
- evaluate partial expressions like power_assert.cr. maybe only show leaf-values, e.g. dont show
x && y, just showxandy
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.4.1- Tagged
- Apr 24, 2021
- Commit
8da7502a8cdd- Crystal
>= 0.35.1- Indexed
- yes
Dependents
Repository
github.com/ragmaanir/kontrakt
Metadata
- Created
- Aug 18, 2026
- Updated
- Sep 26, 2026
- Synced
- Sep 26, 2026
- Versions
- 9