module Emailage::Validation
Public Class Methods
validate_email!(email)
click to toggle source
# File lib/emailage/validation.rb, line 7 def validate_email!(email) unless email =~ /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/ raise ArgumentError, "#{email} is not a valid email address." end end
validate_email_or_ip!(email_or_ip)
click to toggle source
# File lib/emailage/validation.rb, line 19 def validate_email_or_ip!(email_or_ip) if email_or_ip.is_a? Array if email_or_ip.size != 2 raise ArgumentError, "an array must contain exactly one Email and one IP address. #{email_or_ip} is given." end validate_email! email_or_ip.first validate_ip! email_or_ip.last else regex_union = Regexp.union(URI::MailTo::EMAIL_REGEXP, Resolv::IPv4::Regex, Resolv::IPv6::Regex) unless email_or_ip =~ regex_union raise ArgumentError, "#{email_or_ip} is neither a valid IP address nor a valid email address." end end end
validate_ip!(ip)
click to toggle source
# File lib/emailage/validation.rb, line 13 def validate_ip!(ip) unless ((ip =~ Resolv::IPv4::Regex) || (ip =~ Resolv::IPv6::Regex)) raise ArgumentError, "#{ip} is not a valid IP address." end end