Class: Validator::Domain

Inherits:
Object
  • Object
show all
Defined in:
lib/validator/domain.rb

Constant Summary collapse

LENGTH =
255
LABEL_LENGTH =
63

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ Domain

Returns a new instance of Domain.



6
7
8
# File 'lib/validator/domain.rb', line 6

def initialize(value)
  @value = value
end

Instance Method Details

#valid?Boolean

valid if passes all conditions

Returns:

  • (Boolean)


23
24
25
# File 'lib/validator/domain.rb', line 23

def valid?
  valid_by_length? and valid_by_label_length? and valid_by_regexp?
end

#valid_by_label_length?(label_length = nil) ⇒ Boolean

Returns:

  • (Boolean)


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

def valid_by_label_length?(label_length = nil)
  !(@value.split(".").find{|f| f.length > (label_length || LABEL_LENGTH) and f.length > 1 })
end

#valid_by_length?(length = nil) ⇒ Boolean

Returns:

  • (Boolean)


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

def valid_by_length?(length = nil)
  @value.length <= (length || LENGTH)
end

#valid_by_regexp?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/validator/domain.rb', line 18

def valid_by_regexp?
  @value =~ /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/i
end