Sha256: 93cbf3343a54fc9462ad74d0d7acbf1e2e16c26426492847a03787115b46b03b

Contents?: true

Size: 934 Bytes

Versions: 5

Compression:

Stored size: 934 Bytes

Contents

require 'active_model/validations/presence'

module Paperclip
  module Validators
    class AttachmentPresenceValidator < ActiveModel::EachValidator
      def validate_each(record, attribute, value)
        if record.send("#{attribute}_file_name").blank?
          record.errors.add(attribute, :blank, options)
        end
      end
    end

    module HelperMethods
      # Places ActiveModel 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)
        options = _merge_attributes(attr_names)
        validates_with AttachmentPresenceValidator, options.dup
        validate_before_processing AttachmentPresenceValidator, options.dup
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
paperclip-3.5.4 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.5.3 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.5.2 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.5.1 lib/paperclip/validators/attachment_presence_validator.rb
paperclip-3.5.0 lib/paperclip/validators/attachment_presence_validator.rb