class Marten::Schema::Field::Enum
- Marten::Schema::Field::Enum
- Marten::Schema::Field::Base
- Reference
- Object
Overview
Represents an enum schema field.
Defined in:
marten/schema/field.crmarten/schema/field/enum.cr
Constructors
Instance Method Summary
-
#deserialize(value) : ::String | Nil
Deserializes a raw field value to the corresponding field value.
-
#serialize(value) : ::String | Nil
Serializes a field value.
-
#validate(schema, value)
Runs custom validation logic for a specific schema field and schema object.
- #values : Array(String)
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::Object
template_attributes(*names)
template_attributes
Constructor Detail
def self.new(id : ::String, enum_values : Array(::String), required : ::Bool = true, **kwargs)
#
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.
def serialize(value) : ::String | Nil
#
Description copied from class Marten::Schema::Field::Base
Serializes a field value.
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.