Sha256: b88fd9bf9348f409dc53c5b4ee162d78256e5596d2f54545f06e39ecb584e8e5

Contents?: true

Size: 896 Bytes

Versions: 2

Compression:

Stored size: 896 Bytes

Contents

module ActiveRecord
  module Validations #:nodoc:
    module ClassMethods
      local_part_illegal_chars = '[^@<>\(\)\[\]:;\\\\\s\.]'
      EMAIL_REGEXP = /\A[^\.](#{local_part_illegal_chars}|\.#{local_part_illegal_chars})*@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
      
      # Takes a list of attributes that should be validated to be valid
      # formatted email addresses. Takes all other options that
      # validates_format_of does.
      #
      #   class Member < ActiveRecord::Base
      #     validates_email :email, :message => "is not a valid email address"
      #   end
      #
      # Note that the example message is the default.
      def validates_email(*attr_names)
        options = { :with => EMAIL_REGEXP, :message => "is not a valid email address" }
        options.merge!(attr_names.extract_options!)
        validates_format_of attr_names, options
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
validates_email-san-0.2.0 lib/validates_email_san.rb
validates_email-san-0.1.2 lib/validates_email_san.rb