Sha256: d6c6d6731c7e14b5a3930443167a9003a455c6dd3c055a1571025d606fb79855

Contents?: true

Size: 727 Bytes

Versions: 1

Compression:

Stored size: 727 Bytes

Contents

# frozen_string_literal: true
require 'active_model'

class EmailValidator < ActiveModel::EachValidator
  def self.regexp(options = {})
    if options[:strict_mode]
      ActiveSupport::Deprecation.warn(
        'Strict mode has been deprecated in email_validator 2.0. To fix this warning, '\
        'remove `strict_mode: true` from your validation call.'
      )
    end

    /[^\s]@[^\s]/
  end

  def self.valid?(value, options = nil)
    !invalid?(value)
  end

  def self.invalid?(value, options = nil)
    !(value =~ regexp)
  end

  def validate_each(record, attribute, value)
    if self.class.invalid?(value)
      record.errors.add(attribute, :invalid, options.slice(:message).merge(value: value))
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
email_validator-2.0.1 lib/email_validator.rb