Description
Adds contract-style checks to Ruby code, letting developers describe expected types, values, or behavior around methods. It is useful for catching incorrect usage and documenting assumptions in dynamic Ruby programs.
Runtime contracts can add overhead and may expose values in error messages. Avoid leaking sensitive arguments in exceptions or logs.