Ex Contract v0.1.2 API Reference

Modules

This is Elixir library application that adds support for design by contract. For intro to DbC methodology see DbC. Also, you may consult readme file for usage and theory behind Design by Contract

This module is not meant to be used directly by client code. This is an implementation module used by ExContract used for implementing checking of conditions in ExContract.requires/1, ExContract.ensures/1, ExContract.check/1, and ExContract.fail/1 macros

Base module for contract exceptions that provides common implementation and data representation

This module is not meant to be used directly by client code. This module holds compilation state for ExContract. Stores each condition and optional message in corresponding requires or ensures lists

This module is not meant to be used directly by client code. This module holds data related to contract condition and optional message that is reported when such condition fails

Exceptions

Custom exception raised by ExContract.check/1 macro

Custom exception raised by ExContract.ensures/1 macro

Custom exception raised by ExContract.fail/1 macro

Custom exception raised by ExContract.requires/1 macro