Sha256: a9abbbc6f2635af154977876b96b46fe8ba5536d3917c5c4a2beb1bb9386a216

Contents?: true

Size: 641 Bytes

Versions: 2

Compression:

Stored size: 641 Bytes

Contents

require 'validatable'

module CouchPotato
  module Persistence
    module Validation
      def self.included(base) #:nodoc:
        base.send :include, Validatable
        base.class_eval do
          # Override the validate method to first run before_validation callback
          def valid?
            errors.clear
            run_callbacks :before_validation
            before_validation_errors = errors.errors.dup
            super
            before_validation_errors.each do |k, v|
              v.each {|message| errors.add(k, message)}
            end
            errors.empty?
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
couch_potato-0.2.22 lib/couch_potato/persistence/validation.rb
couch_potato-0.2.21 lib/couch_potato/persistence/validation.rb