Sha256: 3aecb1b6cd518a38307b8d4da75f90ad113aebb072bd3584d738da4ca36f7804

Contents?: true

Size: 755 Bytes

Versions: 3

Compression:

Stored size: 755 Bytes

Contents

module ContextValidations::Model
  def self.included(base)
    base.class_eval do
      reset_callbacks(:validate)
    end

    base._validators.keys.each do |key|
      base._validators.delete(key)
    end
  end

  # The collection of validations assigned to this model instance
  #
  # @return [Array]
  def validations
    @validations ||= []
  end

  # Use to set the validations collection assigned to this model instance
  #
  # Pass an array of validator instances
  #
  # @param [[ActiveMode::Validations::Validator]]
  def validations=(validations)
    @validations = validations.flatten
  end

  protected

  def run_validations!
    Array.wrap(validations).each do |validator|
      validator.validate(self)
    end
    errors.empty?
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
context_validations-0.0.3 lib/context_validations/model.rb
context_validations-0.0.2 lib/context_validations/model.rb
context_validations-0.0.1 lib/context_validations/model.rb