Sha256: 77bb0dafb8eb071478574c69e84b2ebc9dbd928d842f2694b05cc6bd1204052c

Contents?: true

Size: 927 Bytes

Versions: 15

Compression:

Stored size: 927 Bytes

Contents

require 'active_model/validations/presence'

module Paperclip
  module Validators
    class AttachmentPresenceValidator < ActiveModel::Validations::PresenceValidator
      def validate(record)
        [attributes].flatten.map do |attribute|
          if record.send(:read_attribute_for_validation, "#{attribute}_file_name").blank?
            record.errors.add(attribute, :blank, options)
          end
        end
      end
    end

    module HelperMethods
      # Places ActiveRecord-style validations on the presence of a file.
      # Options:
      # * +if+: A lambda or name of an instance method. Validation will only
      #   be run if this lambda or method returns true.
      # * +unless+: Same as +if+ but validates if lambda or method returns false.
      def validates_attachment_presence(*attr_names)
        validates_with AttachmentPresenceValidator, _merge_attributes(attr_names)
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
paperclip-3.4.2 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.4.1 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.4.0 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.3.1 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.2.1 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.3.0 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.2.0 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.1.4 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.1.2 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.1.1 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.1.0 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.0.4 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.0.3 lib/paperclip/validators/attachment_presence_validator.rb
cloudfuji_paperclip-3.0.3 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.0.2 lib/paperclip/validators/attachment_presence_validator.rb