Module: Adama::Validator
- Defined in:
- lib/adama/validator.rb
Defined Under Namespace
Modules: ClassMethods Classes: PresenceValidator
Class Method Summary collapse
Instance Method Summary collapse
- #errors ⇒ Object
-
#initialize(**kwargs) ⇒ Object
This module is meant to be prepended to another module Call the child class initializer first, this will set kwargs Then validate.
- #valid? ⇒ Boolean
-
#validate! ⇒ Object
Iterate over the validators registered, and for each validator call ‘validate!` passing in the instance of the class this module was prepended to.
Class Method Details
.prepended(base) ⇒ Object
3 4 5 |
# File 'lib/adama/validator.rb', line 3 def self.prepended(base) base.extend ClassMethods end |
Instance Method Details
#errors ⇒ Object
35 36 37 |
# File 'lib/adama/validator.rb', line 35 def errors @errors ||= {} end |
#initialize(**kwargs) ⇒ Object
This module is meant to be prepended to another module Call the child class initializer first, this will set kwargs Then validate
30 31 32 33 |
# File 'lib/adama/validator.rb', line 30 def initialize(**kwargs) super(**kwargs) validate! end |
#valid? ⇒ Boolean
39 40 41 |
# File 'lib/adama/validator.rb', line 39 def valid? @valid end |
#validate! ⇒ Object
Iterate over the validators registered, and for each validator call ‘validate!` passing in the instance of the class this module was prepended to.
46 47 48 49 50 51 52 53 |
# File 'lib/adama/validator.rb', line 46 def validate! @valid = true self.class.validators.each do |validator| validator.validate! self merge_errors validator.errors @valid = validator.valid? && @valid end end |