Blood Contracts

Services & Skills

Share on

Blood Contracts is a simple and agile Ruby data validation tool inspired by refinement types and functional approach.

  • Powerful. Algebraic Data Type guarantees that gem is enough to implement any kind of complex data validation, while Functional Approach gives you full control over validation outcomes.
  • Simple. You could write your first Refinment Type as simple as single Ruby method in single class.
  • Brings transparency. Comes with instrumentation tools, so now you will exactly know how often each type matches in your production.
  • Rubyish. DSL is inspired by Ruby Struct. If you love Ruby way you’d like the BloodContracts types.
  • Born in production. Created on basis of eBaymag project, used as a tool to control and monitor data inside API communication.

In the same orbit

Explore more open source projects

How can we help you?

Martians at a glance
years in business

We transform growth-stage startups into unicorns, build developer tools, and create open source products.

If you prefer email, write to us at