Description

A tool for describing and validating objects as intuitively as possible. Easier to read and write than JSON Schema, and more powerful than a simple hash comparison.

Example usage:

shape = {
    :$uuid => {
        email: :$email,
        first_name: String,
        last_name: String,
        preferred_name: AnyOf[String, nil],
        admin_only_information: AnyOf[{Symbol => String}, :$undefined],
        Symbol => Object,
    },
}
expect(api_response.body).to have_shape(shape)

Required Ruby Version

>= 3.2.0, < 3.5

Authors

Joel Tannas

Versions

  1. 0.0.2.0 March 19, 2025 (22 KB)
  2. 0.0.1.4 March 18, 2025 (22 KB)
  3. 0.0.1.3 March 18, 2025 (21.5 KB)
  4. 0.0.1.2 March 18, 2025 (21.5 KB)
  5. 0.0.1.1 March 18, 2025 (21.5 KB)
Show all versions (7 total)

Pushed by

GitHub

SHA 256 checksum

Provenance