Sha256: 94a54c7007b0ff83892092b9a5c052e269f6a8d69106a4e3617514f9b321909f

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

# Changelog
All notable changes to this project will be documented in this file.

# [0.3.0] - 2020-12-03
### Added
- Support for *strict* and *non-strict* schemas;
  - `strict!` DSL directive marks your schema as a strict schema (your hash can not have extra keys);
  - `non_strict!` DSL directive marks your schema as non-strict schema (your hash can have extra keys);
  - use `strict!` in any schema's context place to mark your current schema context as a strict;
  - use `non_strict` in any schema's context place to mark your current schema context as a strict;
  - use `schema(:strict)` to globally define strict schema (default behavior);
  - use `schema(:non_strict)` to globally define non-strict schema;
  - nested schemas inherits strict behavior from outer schemas;
  - root schema is `:strict` by default;
  - schema reopening without mode attribute does not change original schema mode
    (you should manually pass a mode attribute to redefine already defined schema mode);

# [0.2.0] - 2020-11-09
### Added
- `#errors` now includes `#extra_keys` too (`:extra_key` error code for each extra key);
- Unfreezed `SmartCore::Schema::Checker::Rules::TYPE_ALIASES` for extendability (until `smart_type-syste` has been integrated);

# [0.1.0] - 2020-08-25

- Release :)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
smart_schema-0.3.0 CHANGELOG.md