Sha256: 1d782d1aa572655be05daa99571d46a1dfe030075f8e154f0d0279cadcebd807

Contents?: true

Size: 775 Bytes

Versions: 36

Compression:

Stored size: 775 Bytes

Contents

require 'active_model/validations/presence'

module Polygallery
  module Validators
    class PolygalleryPresenceValidator < ActiveModel::EachValidator

      def validate_each(record, attribute, value)
        if record.send(attribute).present?
          unless record.send(attribute).photos.any?
            record.errors.add(attribute, :blank, options)
          end
        else
          record.errors.add(attribute, :blank, options)
        end
      end

      def self.helper_method_name
        :validates_polygallery_presence
      end

    end

    module HelperMethods
      def validates_polygallery_presence(*attr_names)
        options = _merge_attributes(attr_names)
        validates_with PolygalleryPresenceValidator, options.dup
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
polygallery-0.4.8 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.4.7 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.4.6 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.4.5 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.4.4 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.4.2 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.4.1 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.4.0 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.3.6 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.3.5 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.3.4 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.3.3 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.3.2 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.3.1 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.3.0 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.2.5 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.2.4 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.2.3 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.2.1 lib/polygallery/validators/polygallery_presence_validator.rb
polygallery-0.1.9 lib/polygallery/validators/polygallery_presence_validator.rb