Sha256: 4a5763f8b3c47829475be920b65af67737a494018642519f3b83c5dbb0efa11a
Contents?: true
Size: 868 Bytes
Versions: 1
Compression:
Stored size: 868 Bytes
Contents
require 'active_support/i18n' I18n.load_path << File.dirname(__FILE__) + '/locale/en.yml' require 'active_model' require 'mail' module ActiveModel module Validations class EmailValidator < ActiveModel::EachValidator def initialize(options) options.reverse_merge!(:message => :email) super(options) end def validate_each(record, attribute, value) begin mail = Mail::Address.new(value) unless mail.address == value && mail.domain.split(".").length > 1 record.errors.add(attribute, options[:message]) end rescue record.errors.add(attribute, options[:message]) end end end module ClassMethods def validates_email(*attr_names) validates_with EmailValidator, _merge_attributes(attr_names) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
validate_email-0.1.6 | lib/validate_email.rb |