multi_smtp 0.0.1 → 0.0.2

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: 8b4c0d11e7bf9ef7fdbe9599079af40962c5619f
4
- data.tar.gz: 82f6f530e1025b1e87ddf17dc515dc052abaf79b
3
+ metadata.gz: 23e763868f6b569e48370beafec837ca5b3576fc
4
+ data.tar.gz: 2ef877d1d11bc165539ee85ede08b5dfb467a29b
5
5
  SHA512:
6
- metadata.gz: e4716c7ea2d5d1c583fd7eee596b21eb2bfdb20d5d24c5803dc64f94637b1a88db2ec4377bd25a9da75b33688f7ae1c7c920528fa72c4abb48c3928d23a59528
7
- data.tar.gz: 091f3eff7730e6afd13a2d2fc777d0cc7d278c6b01f33afe314e9d6abd1fc7510bba12218556f4d3c9a590a684b30be8c7c1340587499802ea86e2a77956fc48
6
+ metadata.gz: 46437e91bc54924e46069db89e4317f37b85409961ae74957ecf0148384d796670e2f77108001c8e6e1df0b326f4b5f3f7ebaca0966865d038ca201e82103002
7
+ data.tar.gz: 26eb14f158e409b3dd515918437301e775f477c60cdd9daed0b0c7b265cc4a471342ed295283d8a2e2ccb438ffaf05cc502c9ff6a7215d9c3af85cb59572393e
data/.gitignore CHANGED
@@ -12,3 +12,4 @@
12
12
  *.o
13
13
  *.a
14
14
  mkmf.log
15
+ *.gem
@@ -14,8 +14,12 @@ module MultiSMTP
14
14
  super(mail)
15
15
  break
16
16
  rescue Exception => e
17
- if all_providers_failed?(index) && error_notifier
17
+ next unless all_providers_failed?(index)
18
+
19
+ if error_notifier
18
20
  error_notifier.notify(mail)
21
+ else
22
+ raise e
19
23
  end
20
24
  end
21
25
  end
@@ -1,3 +1,3 @@
1
1
  module MultiSMTP
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -18,9 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency "mail", "~> 2.6.3"
21
+ spec.add_runtime_dependency "mail", "~> 2.6", ">= 2.6.3"
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.7"
24
+ spec.add_development_dependency "pry", "~> 0.10", ">= 0.10.1"
24
25
  spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "rspec", "~> 3.1.0"
26
+ spec.add_development_dependency "rspec", "~> 3.1", ">= 3.1.0"
26
27
  end
@@ -39,13 +39,25 @@ describe MultiSMTP::Mail, "#deliver!" do
39
39
  end
40
40
 
41
41
  context "all smtp providers fail" do
42
- it "notifies airbrake" do
43
- allow_any_instance_of(Net::SMTP).to receive(:start).
44
- and_raise(Net::SMTPFatalError)
42
+ context "notifier is set" do
43
+ it "notifies airbrake" do
44
+ allow_any_instance_of(Net::SMTP).to receive(:start).
45
+ and_raise(Net::SMTPFatalError)
45
46
 
46
- MultiSMTP::Mail.new({}).deliver!(mail)
47
+ MultiSMTP::Mail.new({}).deliver!(mail)
48
+
49
+ expect(error_notifier).to have_received(:notify).once
50
+ end
51
+ end
52
+
53
+ context "notifier is not set" do
54
+ it "re-raises the original exception" do
55
+ MultiSMTP.error_notifier = nil
56
+ allow_any_instance_of(Net::SMTP).to receive(:start).
57
+ and_raise(Net::SMTPFatalError)
47
58
 
48
- expect(error_notifier).to have_received(:notify).once
59
+ expect { MultiSMTP::Mail.new({}).deliver!(mail) }.to raise_exception
60
+ end
49
61
  end
50
62
  end
51
63
 
@@ -3,6 +3,7 @@ $LOAD_PATH << File.join(File.dirname(__FILE__))
3
3
 
4
4
  require "rubygems"
5
5
  require "rspec"
6
+ require "pry"
6
7
  require "multi_smtp"
7
8
 
8
9
  RSpec.configure do |config|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multi_smtp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harlow Ward
@@ -15,6 +15,9 @@ dependencies:
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.6'
20
+ - - ">="
18
21
  - !ruby/object:Gem::Version
19
22
  version: 2.6.3
20
23
  type: :runtime
@@ -22,6 +25,9 @@ dependencies:
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.6'
30
+ - - ">="
25
31
  - !ruby/object:Gem::Version
26
32
  version: 2.6.3
27
33
  - !ruby/object:Gem::Dependency
@@ -38,6 +44,26 @@ dependencies:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
46
  version: '1.7'
47
+ - !ruby/object:Gem::Dependency
48
+ name: pry
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.10'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 0.10.1
57
+ type: :development
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '0.10'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 0.10.1
41
67
  - !ruby/object:Gem::Dependency
42
68
  name: rake
43
69
  requirement: !ruby/object:Gem::Requirement
@@ -57,6 +83,9 @@ dependencies:
57
83
  requirement: !ruby/object:Gem::Requirement
58
84
  requirements:
59
85
  - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '3.1'
88
+ - - ">="
60
89
  - !ruby/object:Gem::Version
61
90
  version: 3.1.0
62
91
  type: :development
@@ -64,6 +93,9 @@ dependencies:
64
93
  version_requirements: !ruby/object:Gem::Requirement
65
94
  requirements:
66
95
  - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '3.1'
98
+ - - ">="
67
99
  - !ruby/object:Gem::Version
68
100
  version: 3.1.0
69
101
  description: Email failover in Rails with MultiSMTP