email_repair 0.0.2 → 0.0.3

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: 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: