Sha256: a97636f80b2b8588582ff57d4ca3062afe0434770932c6c46e2c94a14a6082a4

Contents?: true

Size: 632 Bytes

Versions: 8

Compression:

Stored size: 632 Bytes

Contents

require 'validatable'

module CouchPotato
  module Persistence
    module Validation
      def self.included(base)
        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

8 entries across 8 versions & 1 rubygems

Version Path
couch_potato-0.2.20 lib/couch_potato/persistence/validation.rb
couch_potato-0.2.19 lib/couch_potato/persistence/validation.rb
couch_potato-0.2.18 lib/couch_potato/persistence/validation.rb
couch_potato-0.2.17 lib/couch_potato/persistence/validation.rb
couch_potato-0.2.16 lib/couch_potato/persistence/validation.rb
couch_potato-0.2.15 lib/couch_potato/persistence/validation.rb
couch_potato-0.2.14 lib/couch_potato/persistence/validation.rb
couch_potato-0.2.13 lib/couch_potato/persistence/validation.rb