domain_name_validator 0.4.4 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,11 @@
1
+ 0.5 (2013-10-24)
2
+ ----------------
3
+
4
+ * By request, the gem now ignores leading/trailing whitespace when validating
5
+ domain names. This includes ignoring newlines at the end of domain names.
6
+
7
+ * Remove timestamp from gemspec so Rubygems will calculate gem dates for us.
8
+
1
9
  0.4 (2013-07-17)
2
10
  ----------------
3
11
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- domain_name_validator (0.4.4)
4
+ domain_name_validator (0.5)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -5,7 +5,6 @@ require "domain_name_validator/version"
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "domain_name_validator"
7
7
  gem.version = DomainNameValidator::VERSION
8
- gem.date = '2013-08-01'
9
8
  gem.platform = Gem::Platform::RUBY
10
9
  gem.authors = ["David Keener"]
11
10
  gem.email = ["dkeener@keenertech.com"]
@@ -50,7 +50,12 @@ class DomainNameValidator
50
50
  # 6. A domain name cannot begin with a period.
51
51
 
52
52
  def validate(dn, errs = [])
53
- errs << ERRS[:zero_size] if dn.nil? || dn.size == 0
53
+ if dn.nil?
54
+ errs << ERRS[:zero_size]
55
+ else
56
+ dn = dn.strip
57
+ errs << ERRS[:zero_size] if dn.size == 0
58
+ end
54
59
 
55
60
  if errs.size == 0
56
61
  errs << ERRS[:max_domain_size] if dn.size > MAX_DOMAIN_LENGTH
@@ -69,8 +74,8 @@ class DomainNameValidator
69
74
  parts.last == 'aero' ||
70
75
  parts.last == 'asia' ||
71
76
  parts.last == 'coop' ||
72
- parts.last == 'jobs' ||
73
77
  parts.last == 'info' ||
78
+ parts.last == 'jobs' ||
74
79
  parts.last == 'mobi' ||
75
80
  parts.last == 'museum' ||
76
81
  parts.last == 'name' ||
@@ -1,3 +1,3 @@
1
1
  class DomainNameValidator
2
- VERSION = "0.4.4"
2
+ VERSION = "0.5"
3
3
  end
@@ -28,6 +28,11 @@ describe DomainNameValidator do
28
28
  response.should be == false
29
29
  end
30
30
 
31
+ it 'should pass when it finds a domain with leading/trainling whitespace' do
32
+ response = @validator.validate(" www.domain-1.com\n")
33
+ response.should be == true
34
+ end
35
+
31
36
  it 'should fail when it finds a numeric top-level extension' do
32
37
  response = @validator.validate('keenertech.123')
33
38
  response.should be == false
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: domain_name_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: '0.5'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-01 00:00:00.000000000 Z
12
+ date: 2013-10-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &30451500 !ruby/object:Gem::Requirement
16
+ requirement: &32161380 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *30451500
24
+ version_requirements: *32161380
25
25
  description: Checks the validity of domain names.
26
26
  email:
27
27
  - dkeener@keenertech.com