module Amber::Schema::DSL

Defined in:

amber/schema/dsl.cr

Macro Summary

Macro Detail

macro array(name, of type = JSON::Any, required = false, **options) #

[View source]
macro boolean(name, required = false, **options) #

[View source]
macro datetime(name, required = false, **options) #

[View source]
macro embedded(name, schema_class, required = false, **options) #

Nested schema support


[View source]
macro embedded_array(name, schema_class, required = false, **options) #

Array of embedded schemas


[View source]
macro float(name, required = false, **options) #

[View source]
macro hash(name, required = false, **options) #

[View source]
macro integer(name, required = false, **options) #

[View source]
macro string(name, required = false, **options) #

Field definition DSL methods


[View source]
macro validates(field = nil, &block) #

Custom validation


[View source]
macro validates_enum(field, values) #

[View source]
macro validates_format(field, format) #

[View source]
macro validates_if(condition, &block) #

Conditional validation


[View source]
macro validates_length(field, min = nil, max = nil) #

Validation DSL methods


[View source]
macro validates_pattern(field, pattern, message = nil) #

[View source]
macro validates_range(field, min = nil, max = nil) #

[View source]
macro validation_group(name, &block) #

Group related validations


[View source]