[gem]: https://rubygems.org/gems/dry-logic
[ci]: https://github.com/dry-rb/dry-logic/actions?query=workflow%3Aci
[codeclimate]: https://codeclimate.com/github/dry-rb/dry-logic
[chat]: https://dry-rb.zulipchat.com
[inchpages]: http://inch-ci.org/github/dry-rb/dry-logic

# dry-logic [![Join the chat at https://dry-rb.zulipchat.com](https://img.shields.io/badge/dry--rb-join%20chat-%23346b7a.svg)][chat]

[![Gem Version](https://badge.fury.io/rb/dry-logic.svg)][gem]
[![Build Status](https://github.com/dry-rb/dry-logic/workflows/ci/badge.svg)][ci]
[![Code Climate](https://codeclimate.com/github/dry-rb/dry-logic/badges/gpa.svg)][codeclimate]
[![Test Coverage](https://codeclimate.com/github/dry-rb/dry-logic/badges/coverage.svg)][codeclimate]
[![Inline docs](http://inch-ci.org/github/dry-rb/dry-logic.svg?branch=master)][inchpages]

Predicate logic and rule composition used by:

- [dry-types](https://github.com/dry-rb/dry-types) for constrained types
- [dry-schema](https://github.com/dry-rb/dry-schema) and [dry-validation](https://github.com/dry-rb/dry-validation) for composing validation rules
- your project...?

## Links

- [Documentation](http://dry-rb.org/gems/dry-logic)

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/dry-rb/dry-logic.

## License

See `LICENSE` file.
