Module: Eipiai::Validator
- Included in:
- SequelValidator
- Defined in:
- lib/eipiai/validation/validators/base.rb
Overview
Validator
default module used for validation and error handling. Any validator should always inherit from this validator.
Constant Summary collapse
- NotImplementedError =
Class.new(StandardError)
Instance Method Summary collapse
-
#add_error(error) ⇒ false
add_error.
-
#errors ⇒ Set
errors.
-
#invalid? ⇒ true, false
invalid?.
-
#valid? ⇒ true, false
valid?.
-
#validate ⇒ void
validate.
Instance Method Details
#add_error(error) ⇒ false
add_error
given an object, the object is added to the set of errors.
The method always returns ‘false`. This can be used to easily check for errors and add an error message in one go:
uid.present? || add_error(:uid_missing)
The above example will return true if the uid exists, or add the error and return false to indicate the validation check failed.
89 90 91 92 |
# File 'lib/eipiai/validation/validators/base.rb', line 89 def add_error(error) errors << error false end |
#errors ⇒ Set
errors
Set of errors filled during validation. To set errors, see ‘#add_error`.
65 66 67 |
# File 'lib/eipiai/validation/validators/base.rb', line 65 def errors @errors ||= Set.new end |
#invalid? ⇒ true, false
invalid?
32 33 34 |
# File 'lib/eipiai/validation/validators/base.rb', line 32 def invalid? !valid? end |
#valid? ⇒ true, false
valid?
runs validators and returns ‘true` if no validations failed, otherwise returns `false`.
23 24 25 |
# File 'lib/eipiai/validation/validators/base.rb', line 23 def valid? validate end |
#validate ⇒ void
This method returns an undefined value.
validate
This method needs to be implemented in any validators that include this base validator.
If the validator does not define this method, a ‘NotImplementedError` error is raised.
50 51 52 |
# File 'lib/eipiai/validation/validators/base.rb', line 50 def validate fail NotImplementedError, '#validate required' end |