Class: ValidatedObject::Base Abstract
- Inherits:
-
Object
- Object
- ValidatedObject::Base
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/validated_object.rb
Overview
This class is abstract.
Subclass and add ‘attr_accessor` and validations to create custom validating objects.
Uses [ActiveModel::Validations](api.rubyonrails.org/classes/ActiveModel/Validations/ClassMethods.html#method-i-validates) to create self-validating Plain Old Ruby objects. This is especially useful when importing data from one system into another. This class also creates very readable error messages.
Defined Under Namespace
Classes: Boolean, TypeValidator
Instance Method Summary collapse
-
#check_validations! ⇒ Object
Run any validations and raise an error if invalid.
-
#initialize {|new_object| ... } ⇒ Base
constructor
Instantiate and validate a new object.
Constructor Details
#initialize {|new_object| ... } ⇒ Base
Instantiate and validate a new object.
56 57 58 59 60 |
# File 'lib/validated_object.rb', line 56 def initialize yield(self) check_validations! self end |
Instance Method Details
#check_validations! ⇒ Object
Run any validations and raise an error if invalid.
64 65 66 67 |
# File 'lib/validated_object.rb', line 64 def check_validations! raise ArgumentError, errors..join('; ') if invalid? self end |