Sha256: d46b0e1dbf4f9f03dee7e393c7f1a2880f5111ce8b010a2739f2155357e8140d
Contents?: true
Size: 1.01 KB
Versions: 20
Compression:
Stored size: 1.01 KB
Contents
require 'whyvalidationssuckin96/skippable_validation' require 'whyvalidationssuckin96/attribute_based_validation' module WhyValidationsSuckIn96 # Checks the validity of any associated objects, such as an ActiveRecord association. # # @example Checking the validity of an associated collection of tracks # setup_validations do # validates_associated :tracks # end # # @example Checking the validity of an associated artist # setup_validations do # validates_associated :artist # end class ValidatesAssociated < Validation DefaultOptions = {:message => "is invalid"} include WhyValidationsSuckIn96::SkippableValidation include WhyValidationsSuckIn96::AttributeBasedValidation def validate super Array(attribute_value).collect do |assoc| assoc.valid? end.all? ? pass : fail end end # Validation ValidationBuilder.register_macro :validates_associated, WhyValidationsSuckIn96::ValidatesAssociated end # WhyValidationsSuckIn96
Version data entries
20 entries across 20 versions & 1 rubygems