Sha256: 51ac93c3c49c3078a32e48a2933505df8795346c4ec521248c7444f8f749ec46
Contents?: true
Size: 1.03 KB
Versions: 2
Compression:
Stored size: 1.03 KB
Contents
module Emailage module Validation class << self def validate_email!(email) unless email =~ /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/ raise ArgumentError, "#{email} is not a valid email address." end end def validate_ip!(ip) unless ip =~ /\A\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/ raise ArgumentError, "#{ip} is not a valid IP address." end end 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 unless email_or_ip =~ /\A([^@\s]+@([^@\s]+\.)+[^@\s]+|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\z/ raise ArgumentError, "#{email_or_ip} is neither a valid IP address nor a valid email address." end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
emailage-1.0.0 | lib/emailage/validation.rb |
emailage-0.1.0 | lib/emailage/validation.rb |