email_repair 0.0.2 → 0.0.3

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: 5a05a9b82471b6775d75156fbeb0b16a3132d66c
4
- data.tar.gz: c07996515ed60fe695232d79ddf933abcc58109b
3
+ metadata.gz: c006eab73457e196a6f2723466d75bd668c8c96f
4
+ data.tar.gz: e51207841fc572de5a97f1247229a61e5f4b6d1f
5
5
  SHA512:
6
- metadata.gz: 0961e34f144eae29099048426319ee415fa18a96e282fe9601a3837587b377df9ed0dde164967b324527209e1ecdc5e47c1682efece5bd94161138bf4d80866b
7
- data.tar.gz: e23896b55901cd351ecc41899d0296993497fbf1a9a0d56343aaff09136e30a274644966f26122916ec3a396fe71acbc8c9ef49dc31d2e5628d7803196ada825
6
+ metadata.gz: 44ba45751bf6e6a67fb9e69134603b380ea359bd5452321990665720e908abfc2dc60f4bc9d5894933a427fb63ac873379f7ccd6ffc53b0c7e295848cd15619b
7
+ data.tar.gz: 2167ea3c6b132a7fddae6b02313c7c5f5c3e952488255f6ed5bb6a5cfd31cf48c63c6be8e2e24e67ffa6629921ceb0986034bacef46a2e9a3fff68e2e29c9f23
@@ -11,6 +11,26 @@ module EmailRepair
11
11
  ]
12
12
  end
13
13
 
14
+ def repair_all(emails)
15
+ sanitized_emails = []
16
+ invalid_emails = []
17
+
18
+ emails.each do |email|
19
+ repaired_email = repair(email)
20
+
21
+ if repaired_email
22
+ sanitized_emails << repaired_email
23
+ else
24
+ invalid_emails << email
25
+ end
26
+ end
27
+
28
+ OpenStruct.new(
29
+ sanitized_emails: sanitized_emails,
30
+ invalid_emails: invalid_emails,
31
+ )
32
+ end
33
+
14
34
  def repair(email)
15
35
  return unless email
16
36
 
@@ -1,3 +1,3 @@
1
1
  module EmailRepair
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
@@ -1,6 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  module EmailRepair
4
+ describe Mechanic, '#repair_all' do
5
+
6
+ it 'sanitizes an array of emails and returns bulk results' do
7
+ mechanic = Mechanic.new
8
+ salvageable_emails = %w(One@@two.com three@four.com)
9
+ sanitized_emails = %w(one@two.com three@four.com)
10
+ bad_emails = %w(bleep@blop plooooooop)
11
+
12
+ result = mechanic.repair_all(salvageable_emails + bad_emails)
13
+ expect(result.sanitized_emails).to match_array sanitized_emails
14
+ expect(result.invalid_emails).to match_array bad_emails
15
+ end
16
+
17
+ end
18
+
4
19
  describe Mechanic, '#repair' do
5
20
  let(:mechanic) { Mechanic.new }
6
21
 
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email_repair
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Holman Gao
8
+ - JT Bowler
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-03-19 00:00:00.000000000 Z
12
+ date: 2016-06-28 00:00:00.000000000 Z
12
13
  dependencies: []
13
14
  description:
14
15
  email:
15
16
  - holman@golmansax.com
17
+ - jbowler2400@gmail.com
16
18
  executables: []
17
19
  extensions: []
18
20
  extra_rdoc_files: []
@@ -35,21 +37,20 @@ require_paths:
35
37
  - lib
36
38
  required_ruby_version: !ruby/object:Gem::Requirement
37
39
  requirements:
38
- - - '>='
40
+ - - ">="
39
41
  - !ruby/object:Gem::Version
40
42
  version: '0'
41
43
  required_rubygems_version: !ruby/object:Gem::Requirement
42
44
  requirements:
43
- - - '>='
45
+ - - ">="
44
46
  - !ruby/object:Gem::Version
45
47
  version: '0'
46
48
  requirements: []
47
49
  rubyforge_project:
48
- rubygems_version: 2.2.2
50
+ rubygems_version: 2.4.8
49
51
  signing_key:
50
52
  specification_version: 4
51
53
  summary: Library to fix invalid emails
52
54
  test_files:
53
55
  - spec/lib/email_repair/mechanic_spec.rb
54
56
  - spec/spec_helper.rb
55
- has_rdoc: