module Kangaru::Validatable
def errors
def errors @errors ||= [] end
def model_validator
def model_validator @model_validator ||= Validation::ModelValidator.new(model: self) end
def valid?
def valid? validate errors.empty? end
def validate
def validate model_validator.validate!(**self.class.validation_rules) end
def validates(attribute, **validations)
def validates(attribute, **validations) validation_rules[attribute] ||= {} validation_rules[attribute].merge!(**validations) end
def validation_rules
def validation_rules @validation_rules ||= {} end