Module: BulmaX::Dsl::Validations

Defined in:
lib/bulma_x/dsl/validations.rb

Defined Under Namespace

Modules: ClassMethods Classes: Error, InvalidValidator

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



54
55
56
# File 'lib/bulma_x/dsl/validations.rb', line 54

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#validate!(**options) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/bulma_x/dsl/validations.rb', line 58

def validate!(**options)
  self.class.validators.none? do |validator|
    value = options[validator.option]
    validation = validator.valid?(self, value)

    next if validation.result

    raise Error, "      Option :\#{validator.option} failed validation for value \#{value.inspect}.\n      \#{\"Details: \#{validation.details}\" if validation.details}\n      Validator was defined at \#{validation.source_location}\n    ERROR\n  end\nend\n"