email_inquire 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/email_inquire/inquirer.rb +16 -13
- data/lib/email_inquire/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33910bcf568803231698aa77ddb9eca49c793129
|
4
|
+
data.tar.gz: 14cc507b4cf1d85d57886d70273c7e59f799bf23
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e046cccc9bb04c860eb16c8f09247b9217e11bf63a7484ac26c334afdab59dc97077f71c1c7c302df743f433d3a6f85c2e61eb167d19ccb8e962b67887560dc4
|
7
|
+
data.tar.gz: c9ca590cd4169a068312a82e27c3db3ecedfb61f860ae3a5b46aa226271c9f599be4f6bc690a4a461bbbf46bab8fcdee19d1b4078fe5bc0c308f42076e04f6a5
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# EmailInquire
|
2
2
|
|
3
|
-
[![Gem Version](https://badge.fury.io/rb/email_inquire.svg)](https://badge.fury.io/rb/email_inquire) [![Build Status](https://travis-ci.org/maximeg/email_inquire.svg?branch=master)](https://travis-ci.org/maximeg/email_inquire)
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/email_inquire.svg)](https://badge.fury.io/rb/email_inquire) [![Build Status](https://travis-ci.org/maximeg/email_inquire.svg?branch=master)](https://travis-ci.org/maximeg/email_inquire) [![Code Climate](https://codeclimate.com/github/maximeg/email_inquire/badges/gpa.svg)](https://codeclimate.com/github/maximeg/email_inquire)
|
4
4
|
|
5
5
|
EmailInquire is a library to validate email for common typos and one-time email providers.
|
6
6
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require "damerau-levenshtein"
|
3
|
+
require "set"
|
3
4
|
|
4
5
|
module EmailInquire
|
5
6
|
|
@@ -21,7 +22,6 @@ module EmailInquire
|
|
21
22
|
|
22
23
|
def initialize(email)
|
23
24
|
@email = email.downcase
|
24
|
-
response.email = email
|
25
25
|
|
26
26
|
parse_email
|
27
27
|
end
|
@@ -41,18 +41,22 @@ module EmailInquire
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def response
|
44
|
-
@response ||= Response.new
|
44
|
+
@response ||= Response.new.tap do |response|
|
45
|
+
response.email = email
|
46
|
+
end
|
45
47
|
end
|
46
48
|
|
49
|
+
VALIDATORS = [
|
50
|
+
:validate_common_domains,
|
51
|
+
:validate_one_time_providers,
|
52
|
+
:validate_common_domain_mistakes,
|
53
|
+
:validate_uk_tld,
|
54
|
+
:validate_common_tld_mistakes,
|
55
|
+
:validate_domains_with_unique_tld,
|
56
|
+
].freeze
|
57
|
+
|
47
58
|
def validate_typos
|
48
|
-
|
49
|
-
:validate_common_domains,
|
50
|
-
:validate_one_time_providers,
|
51
|
-
:validate_common_domain_mistakes,
|
52
|
-
:validate_uk_tld,
|
53
|
-
:validate_common_tld_mistakes,
|
54
|
-
:validate_domains_with_unique_tld,
|
55
|
-
].each do |validator|
|
59
|
+
VALIDATORS.each do |validator|
|
56
60
|
send(validator)
|
57
61
|
break if response.valid? || response.invalid?
|
58
62
|
end
|
@@ -117,10 +121,9 @@ module EmailInquire
|
|
117
121
|
end
|
118
122
|
|
119
123
|
new_domain = domain.dup
|
124
|
+
new_domain.gsub!(/\.[a-z]{2}\.uk\z/, ".co.uk")
|
120
125
|
new_domain.gsub!(/(?<!\.)co\.uk\z/, ".co.uk")
|
121
|
-
new_domain.gsub!(
|
122
|
-
new_domain.gsub!(/\.[^c]o\.uk\z/, ".co.uk")
|
123
|
-
new_domain.gsub!(/(?<!co)\.uk\z/, ".co.uk")
|
126
|
+
new_domain.gsub!(/(?<!\.co)\.uk\z/, ".co.uk")
|
124
127
|
|
125
128
|
response.hint!(domain: new_domain) if new_domain != domain
|
126
129
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email_inquire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maxime Garcia
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: damerau-levenshtein
|
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
127
|
version: '0'
|
128
128
|
requirements: []
|
129
129
|
rubyforge_project:
|
130
|
-
rubygems_version: 2.6.
|
130
|
+
rubygems_version: 2.6.11
|
131
131
|
signing_key:
|
132
132
|
specification_version: 4
|
133
133
|
summary: Library to validate email for common typos and one-time email provider
|