Sha256: 4ff8e9339e5b1931b5b611a3e5e06c20a82e2c92038102c2782a6e3ea1166a32
Contents?: true
Size: 605 Bytes
Versions: 6
Compression:
Stored size: 605 Bytes
Contents
# assumes that @checks is defined as an array of no-arg lambdas, each # lambda raising an error (with useful msg) when check fails module Validatable attr_reader :errors def validate @errors = [] @check_methods.each do |check_method| begin send(check_method) rescue StandardError => e @errors.push e end end validatables.each do |v| @errors += v.validate end return @errors end def validatables [] end def valid? self.validate @errors.empty? end def invalid? !self.valid? end end
Version data entries
6 entries across 6 versions & 1 rubygems