Sha256: ba7a1a9382ef8eff45976e28578c431c360671de350ee47fb3c473190c735579
Contents?: true
Size: 715 Bytes
Versions: 3
Compression:
Stored size: 715 Bytes
Contents
module ComposedValidations class WithValidatedProperty < ::SimpleDelegator attr_reader :property, :validator def initialize(resource, property, validator) super(resource) @property = ComposedValidations::ValidatedProperty(property) @validator = validator end def class __getobj__.class end def valid?(*args) __getobj__.valid?(*args) unless validator.valid?(result) errors.add(property.validated_property, validator.message) end errors.blank? end def save(*args) return false unless valid? __getobj__.save(*args) end private def result __send__(property.property_accessor) end end end
Version data entries
3 entries across 3 versions & 1 rubygems