kontrakt Build Status

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