email_repair 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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