Module Sequel::Plugins::ValidateAssociated
In: lib/sequel/plugins/validate_associated.rb

The validates_associated plugin allows you to validate associated objects. It also offers the ability to delay the validation of associated objects until the current object is validated. If the associated object is invalid, validation error messages from the associated object will be added to the current object‘s validation errors.

Usage:

  # Make all model subclass support validating associated objects
  Sequel::Model.plugin :validate_associated

  # Make the Album class support validating associated objects
  Album.plugin :validate_associated

  class Album
    many_to_one :artist
    many_to_many :tags

    # Always validate associated artist when saving the album
    def validate
      super
      if artist
        validate_associated_object(model.association_reflection(:artist), artist)
      end
    end

    # When saving after calling this method, validate the given tag as well.
    def check_tag!(tag)
      delay_validate_associated_object(model.association_reflection(:tags), tag)
    end
  end

Methods

apply  

Classes and Modules

Module Sequel::Plugins::ValidateAssociated::InstanceMethods

Public Class methods

Depend on the instance_hooks plugin.

[Source]

    # File lib/sequel/plugins/validate_associated.rb, line 39
39:       def self.apply(mod)
40:         mod.plugin :instance_hooks
41:       end

[Validate]