Sha256: 7d512187e74fccca2825c66880f1ffa96a1d685762d9a2bdc364a1dcb4ebfabb
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
if defined?(ActiveSupport) ActiveSupport.on_load(:active_record) do module EmailDetected module ValidatesExistEmail module Validator require 'mail' class EmailExistValidator < ActiveModel::EachValidator def validate_each(record, attribute, value) begin m = Mail::Address.new(value) r = m.domain!=nil && m.domain.match('\.') && m.address == value r = EmailDetected.exist? m.address r = r[:status] rescue r = false end record.errors[attribute] << (options[:message] || "does not exist") unless r end end end module ClassMethods def validates_exist_email_of(*attr_names) validates_with ActiveRecord::Base::EmailExistValidator, _merge_attributes(attr_names) end end end end ActiveRecord::Base.send(:include, EmailDetected::ValidatesExistEmail::Validator) ActiveRecord::Base.send(:extend, EmailDetected::ValidatesExistEmail::ClassMethods) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
email_detected-0.1.1 | lib/email_detected/validates_exist_email.rb |
email_detected-0.1.0 | lib/email_detected/validates_exist_email.rb |