email_repair 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4b69fd1e249e2e22790e3d2c4a1b504f2152bb9
4
- data.tar.gz: b95be782fe298e8a3ec18cf89c6c89ac5a9f808a
3
+ metadata.gz: d81deac964185bcd7e75e10d32bb25af1e591250
4
+ data.tar.gz: d8001888aac57df3008c145e4c5ea344fa760efa
5
5
  SHA512:
6
- metadata.gz: 7ad8b2396bc3dc7d7be9ac80ff29491dbe20f2cfe965a3bfdfe5a2c80980c945fce5f08c53e3b3af1c9effde8fc792a9df50127bd119df24b6aadebfc1351ef0
7
- data.tar.gz: 4600961f8e96f3e06e6712fddb8a917212ec485699a30286272b4738373135d06df29b5273256bd33c836da06a854696d5b4ddd4eada8baacd944ae7365c64a3
6
+ metadata.gz: ab4bce6136b84fae7ea1ab9c3cc8ca95b7e5dfc6e7053286cdc93b5eed6a26668c9ea6d1d9188024aceb7fd5e578327452e3cc91ec07f720dd0e56e16cce9a68
7
+ data.tar.gz: cd70ccc7af7c13ec14628a58c36c0d964679b7a3ed8f5f4a08fb2f7273085d00935d27501af85a83c99017a38de66721a051848dfbda239c47ed0fe2f9555b49
@@ -4,7 +4,7 @@ module EmailRepair
4
4
  def email_regex
5
5
  local_part_regex = "[#{valid_chars}]" \
6
6
  "([#{valid_chars_with_dot}]*[#{valid_chars}])?"
7
- /#{local_part_regex}@(?:[a-z0-9\-]+\.)+(?:museum|travel|[a-z]{2,4})/
7
+ /#{local_part_regex}@(?:[a-z0-9\-]+\.)+(?:[a-z]{2,24})/
8
8
  end
9
9
 
10
10
  private
@@ -36,9 +36,7 @@ module EmailRepair
36
36
  def repair(email)
37
37
  return unless email
38
38
 
39
- repairs.each { |repair| email = repair.repair(email) }
40
-
41
- email
39
+ repairs.reduce(email) { |memo, repair| repair.repair(memo) }
42
40
  end
43
41
 
44
42
  class CommonMistakeRepair
@@ -47,7 +45,7 @@ module EmailRepair
47
45
  .gsub(/\s/, '')
48
46
  .sub(/@+/, '@')
49
47
  .sub(/\.c0m$/, '.com')
50
- .sub(/,[a-z]{2,4}$/) { |m| m.sub(',', '.') }
48
+ .sub(/,[a-z]{2,24}$/) { |m| m.sub(',', '.') }
51
49
  end
52
50
  end
53
51
 
@@ -1,3 +1,3 @@
1
1
  module EmailRepair
2
- VERSION = '0.1.0'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -32,12 +32,17 @@ module EmailRepair
32
32
  it 'returns clean emails as is' do
33
33
  # Rant about apostrophe in email
34
34
  # http://www.stuffaboutcode.com/2013/02/validating-email-address-bloody.html
35
+ # List of longest TLDs
36
+ # https://jasontucker.blog/8945/what-is-the-longest-tld-you-can-get-for-a-domain-name
35
37
  good_emails = %w(
36
38
  b@b.com
37
39
  lobatifricha@gmail.com
38
40
  mrspicy+whocares@whatevs.com
39
41
  your.mom@the.museum
40
42
  martin.o'hanlon@mycompany.com
43
+ b@mps.school
44
+ b@kickstarter.engineering
45
+ b@joyful.christmas
41
46
  )
42
47
 
43
48
  good_emails.each do |good_email|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email_repair
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Holman Gao
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-06-29 00:00:00.000000000 Z
12
+ date: 2017-08-03 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description:
15
15
  email:
@@ -47,10 +47,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
47
47
  version: '0'
48
48
  requirements: []
49
49
  rubyforge_project:
50
- rubygems_version: 2.4.8
50
+ rubygems_version: 2.6.12
51
51
  signing_key:
52
52
  specification_version: 4
53
53
  summary: Library to fix invalid emails
54
54
  test_files:
55
- - spec/lib/email_repair/mechanic_spec.rb
56
55
  - spec/spec_helper.rb
56
+ - spec/lib/email_repair/mechanic_spec.rb