class Marten::Schema::Field::Enum

Overview

Represents an enum schema field.

Defined in:

marten/schema/field.cr
marten/schema/field/enum.cr

Constructors

Instance Method Summary

Instance methods inherited from class Marten::Schema::Field::Base

deserialize(value) deserialize, empty_value?(value) : ::Bool empty_value?, id : String id, required? : Bool required?, serialize(value) : ::String | Nil serialize, validate(schema, value) validate

Constructor methods inherited from class Marten::Schema::Field::Base

new(id : ::String, required : ::Bool = true) new

Macros inherited from module Marten::Template::CanDefineTemplateAttributes

template_attributes(*names) template_attributes

Constructor Detail

def self.new(id : ::String, enum_values : Array(::String), required : ::Bool = true, **kwargs) #

[View source]

Instance Method Detail

def deserialize(value) : ::String | Nil #
Description copied from class Marten::Schema::Field::Base

Deserializes a raw field value to the corresponding field value.


[View source]
def serialize(value) : ::String | Nil #
Description copied from class Marten::Schema::Field::Base

Serializes a field value.


[View source]
def validate(schema, value) #
Description copied from class Marten::Schema::Field::Base

Runs custom validation logic for a specific schema field and schema object.

This method should be overriden for each field implementation that requires custom validation logic.


[View source]
def values : Array(String) #

[View source]