Class: DomainValidator::Validator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Defined in:
lib/domain_validator/validator.rb

Constant Summary collapse

RE_DOMAIN =
%r(^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)+$)

Instance Method Summary collapse

Instance Method Details

#is_valid_domain?(domain) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/domain_validator/validator.rb', line 14

def is_valid_domain?(domain)
  domain =~ RE_DOMAIN
end

#validate_each(record, attr_name, value) ⇒ Object



9
10
11
12
# File 'lib/domain_validator/validator.rb', line 9

def validate_each(record, attr_name, value)
  valid_domain = is_valid_domain?(value)
  record.errors.add(attr_name, options[:message] || "is invalid") and return unless valid_domain
end