module Gadgeto::Domain::Validators
Public Instance Methods
domain?(domain_name)
click to toggle source
# File lib/gadgeto/domain/validators.rb, line 6 def domain?(domain_name) !!(domain_name =~ domain_regex(0..10)) end
third_level_domain?(domain_name)
click to toggle source
# File lib/gadgeto/domain/validators.rb, line 10 def third_level_domain?(domain_name) !!(domain_name =~ domain_regex(3)) end
Protected Instance Methods
domain_regex(level)
click to toggle source
Validates domain names against usual pattern defined in RFC 1035.
# File lib/gadgeto/domain/validators.rb, line 21 def domain_regex(level) label = '(([a-z]|\d)+([a-z]|\d|-)*([a-z]|\d)+|([a-z]|\d)){1,63}' cardinal = if level.kind_of?(Range) "#{level.min},#{level.max}" else level - 1 end %r{\A#{label}(\.#{label}){#{cardinal}}\Z}i end