heycarsten-email-veracity 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE CHANGED
@@ -16,4 +16,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- THE SOFTWARE.
19
+ THE SOFTWARE.
data/Rakefile CHANGED
@@ -13,7 +13,6 @@ Rake::TestTask.new do |t|
13
13
  end
14
14
 
15
15
 
16
-
17
16
  ### Packaging
18
17
  require 'rake/gempackagetask'
19
18
  load 'email_veracity.gemspec'
@@ -42,4 +41,4 @@ Rcov::RcovTask.new do |t|
42
41
  t.rcov_opts << "--no-rcovrt"
43
42
  end
44
43
  t.verbose = true
45
- end
44
+ end
data/init.rb CHANGED
@@ -1 +1 @@
1
- require 'email_veracity'
1
+ require 'email_veracity'
@@ -18,4 +18,4 @@ module EmailVeracity
18
18
  class MalformedEmailAddressError < Error; end
19
19
  class DomainResourcesTimeoutError < Error; end
20
20
 
21
- end
21
+ end
@@ -1,6 +1,4 @@
1
1
  module EmailVeracity
2
-
3
-
4
2
  class Address
5
3
 
6
4
  include Validatability
@@ -25,17 +23,16 @@ module EmailVeracity
25
23
  end
26
24
 
27
25
  protected
28
- def validate!
29
- add_error(:malformed) if !pattern_valid?
30
- return unless Config[:lookup]
31
- add_errors(domain.errors)
32
- end
33
26
 
34
- def pattern_valid?
35
- @email_address =~ Config[:valid_pattern]
36
- end
37
-
38
- end
27
+ def validate!
28
+ add_error(:malformed) if !pattern_valid?
29
+ return unless Config[:lookup]
30
+ add_errors(domain.errors)
31
+ end
39
32
 
33
+ def pattern_valid?
34
+ @email_address =~ Config[:valid_pattern]
35
+ end
40
36
 
41
- end
37
+ end
38
+ end
@@ -1,6 +1,4 @@
1
1
  module EmailVeracity
2
-
3
-
4
2
  class Config
5
3
 
6
4
  DEFAULT_OPTIONS = {
@@ -52,6 +50,4 @@ module EmailVeracity
52
50
  end
53
51
 
54
52
  end
55
-
56
-
57
- end
53
+ end
@@ -1,6 +1,5 @@
1
1
  module EmailVeracity
2
2
 
3
-
4
3
  class ::Array
5
4
 
6
5
  def reject_blank_items
@@ -23,5 +22,4 @@ module EmailVeracity
23
22
 
24
23
  end
25
24
 
26
-
27
- end
25
+ end
@@ -1,6 +1,4 @@
1
1
  module EmailVeracity
2
-
3
-
4
2
  class Domain
5
3
 
6
4
  include Validatability
@@ -46,24 +44,23 @@ module EmailVeracity
46
44
  end
47
45
 
48
46
  protected
49
- def validate!
50
- return if whitelisted?
51
- add_error(:blacklisted) if blacklisted? &&
52
- Config[:enforce_blacklist]
53
- add_error(:no_address_servers) if address_servers.empty? &&
54
- Config.enforce_lookup?(:a)
55
- add_error(:no_exchange_servers) if exchange_servers.empty? &&
56
- Config.enforce_lookup?(:mx)
57
- end
58
47
 
59
- def servers_in(record)
60
- return [] if name.blank?
61
- Resolver.get_servers_for(name, record)
62
- rescue DomainResourcesTimeoutError
63
- add_error :timed_out
64
- end
65
-
66
- end
48
+ def validate!
49
+ return if whitelisted?
50
+ add_error(:blacklisted) if blacklisted? &&
51
+ Config[:enforce_blacklist]
52
+ add_error(:no_address_servers) if address_servers.empty? &&
53
+ Config.enforce_lookup?(:a)
54
+ add_error(:no_exchange_servers) if exchange_servers.empty? &&
55
+ Config.enforce_lookup?(:mx)
56
+ end
67
57
 
58
+ def servers_in(record)
59
+ return [] if name.blank?
60
+ Resolver.get_servers_for(name, record)
61
+ rescue DomainResourcesTimeoutError
62
+ add_error :timed_out
63
+ end
68
64
 
69
- end
65
+ end
66
+ end
@@ -1,6 +1,4 @@
1
1
  module EmailVeracity
2
-
3
-
4
2
  class Resolver
5
3
 
6
4
  RECORD_NAMES_TO_RESOLVE_MAP = {
@@ -26,21 +24,20 @@ module EmailVeracity
26
24
  end
27
25
 
28
26
  protected
29
- def Resolver.get_resources_for(domain_name, record = :a)
30
- Resolv::DNS.open do |server|
31
- record_map = RECORD_NAMES_TO_RESOLVE_MAP[record]
32
- resources = server.getresources(domain_name, record_map[:constant])
33
- resources_to_servers(resources, record_map[:method])
34
- end
35
- end
36
27
 
37
- def Resolver.resources_to_servers(resources, resolve_method)
38
- resources.inject([]) do |array, resource|
39
- array << resource.method(resolve_method).call.to_s.strip
40
- end.reject_blank_items
28
+ def Resolver.get_resources_for(domain_name, record = :a)
29
+ Resolv::DNS.open do |server|
30
+ record_map = RECORD_NAMES_TO_RESOLVE_MAP[record]
31
+ resources = server.getresources(domain_name, record_map[:constant])
32
+ resources_to_servers(resources, record_map[:method])
41
33
  end
34
+ end
42
35
 
43
- end
44
-
36
+ def Resolver.resources_to_servers(resources, resolve_method)
37
+ resources.inject([]) do |array, resource|
38
+ array << resource.method(resolve_method).call.to_s.strip
39
+ end.reject_blank_items
40
+ end
45
41
 
46
- end
42
+ end
43
+ end
@@ -1,6 +1,5 @@
1
1
  module EmailVeracity
2
2
 
3
-
4
3
  class Server
5
4
 
6
5
  attr_reader :name
@@ -16,5 +15,4 @@ module EmailVeracity
16
15
  class AddressServer < Server; end
17
16
  class ExchangeServer < Server; end
18
17
 
19
-
20
- end
18
+ end
@@ -1,6 +1,4 @@
1
1
  module EmailVeracity
2
-
3
-
4
2
  module Validatability
5
3
 
6
4
  def valid?
@@ -14,21 +12,20 @@ module EmailVeracity
14
12
  end
15
13
 
16
14
  protected
17
- def validate!
18
- # Adds errors to the object.
19
- end
20
15
 
21
- def clear_errors!
22
- @errors = []
23
- end
24
-
25
- def add_error(*new_errors)
26
- @errors ||= []
27
- @errors.concat(new_errors.flatten)
28
- end
29
- alias_method :add_errors, :add_error
16
+ def validate!
17
+ # Adds errors to the object.
18
+ end
30
19
 
31
- end
20
+ def clear_errors!
21
+ @errors = []
22
+ end
32
23
 
24
+ def add_error(*new_errors)
25
+ @errors ||= []
26
+ @errors.concat(new_errors.flatten)
27
+ end
28
+ alias_method :add_errors, :add_error
33
29
 
34
- end
30
+ end
31
+ end
@@ -13,4 +13,4 @@ class ClassWithValidationMock
13
13
  add_errors []
14
14
  end
15
15
 
16
- end
16
+ end
data/test/test_helper.rb CHANGED
@@ -10,7 +10,7 @@ class Test::Unit::TestCase
10
10
  def domain_names
11
11
  %w[ viarails.net heycarsten.com yahoo.com gmail.com savvica.com
12
12
  learnhub.com github.com google.com rogers.com amd.com adobe.com
13
- unspace.ca xerox.com webkit.org cooltown.net aiderss.com del.icio.us ]
13
+ unspace.ca xerox.com webkit.org cooltown.net aiderss.com delicious.com ]
14
14
  end
15
15
 
16
16
  def assert_empty(array, message = nil)
@@ -31,4 +31,4 @@ class Test::Unit::TestCase
31
31
  assert_block(message) { !array.empty? }
32
32
  end
33
33
 
34
- end
34
+ end
@@ -44,8 +44,9 @@ class DefaultConfigurationAddressValidationsTest < Test::Unit::TestCase
44
44
  end
45
45
 
46
46
  private
47
- def new_address(address = '')
48
- EmailVeracity::Address.new(address)
49
- end
50
47
 
51
- end
48
+ def new_address(address = '')
49
+ EmailVeracity::Address.new(address)
50
+ end
51
+
52
+ end
@@ -106,4 +106,4 @@ class DefaultValidAddressPatternTest < Test::Unit::TestCase
106
106
  end
107
107
  end
108
108
 
109
- end
109
+ end
@@ -27,4 +27,4 @@ class ArrayExtensionsTest < Test::Unit::TestCase
27
27
  assert nil.blank?, 'nil should be blank.'
28
28
  end
29
29
 
30
- end
30
+ end
@@ -94,8 +94,9 @@ class DomainTest < Test::Unit::TestCase
94
94
  end
95
95
 
96
96
  private
97
- def new_domain(name = 'heycarsten.com')
98
- EmailVeracity::Domain.new(name)
99
- end
100
97
 
101
- end
98
+ def new_domain(name = 'heycarsten.com')
99
+ EmailVeracity::Domain.new(name)
100
+ end
101
+
102
+ end
@@ -26,4 +26,4 @@ class ResolverTest < Test::Unit::TestCase
26
26
  end
27
27
  end
28
28
 
29
- end
29
+ end
@@ -27,4 +27,4 @@ class ServerTest < Test::Unit::TestCase
27
27
  end
28
28
  end
29
29
 
30
- end
30
+ end
@@ -33,4 +33,4 @@ class ValidatabilityTest < Test::Unit::TestCase
33
33
  'Should be empty by default.'
34
34
  end
35
35
 
36
- end
36
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heycarsten-email-veracity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Nielsen