Class: ActiveModel::Validations::SerializedValidator
- Inherits:
-
EachValidator
- Object
- EachValidator
- ActiveModel::Validations::SerializedValidator
- Defined in:
- lib/validates_serialized/validators/serialized_validator.rb
Overview
Special case of EachValidator that exists to allow other EachValidators to validate individual properties of a serialized object
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(*args, &block) ⇒ SerializedValidator
constructor
:nodoc:.
- #validate(record) ⇒ Object
- #validate_each(record, attribute, value) ⇒ Object
Methods inherited from EachValidator
Constructor Details
#initialize(*args, &block) ⇒ SerializedValidator
:nodoc:
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/validates_serialized/validators/serialized_validator.rb', line 6 def initialize(*args, &block) #TODO: Need a method for extracting serialized_attributes @serialized_attributes = nil = args. @validators = [] args.first.each do |klass| validator = klass.new(.dup, &block) @validators << validator end super() end |
Instance Method Details
#validate(record) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/validates_serialized/validators/serialized_validator.rb', line 18 def validate(record) attributes.each do |attribute| serialized = record.read_attribute_for_validation(attribute) type_check!(serialized) validate_serialized(record, attribute, serialized) end end |
#validate_each(record, attribute, value) ⇒ Object
26 27 28 29 30 |
# File 'lib/validates_serialized/validators/serialized_validator.rb', line 26 def validate_each(record, attribute, value) @validators.each do |validator| validator.validate_each(record, attribute, value) end end |