ae_network_connection_exception 1.5.1 → 1.6.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
  SHA256:
3
- metadata.gz: 4bc450ad55db0a8f4cb215456febc78863952696f9377e414319cbec89c48487
4
- data.tar.gz: 29e33ec6b78d8c20dfcb83461e59bba418da66eb4baeeab8f73003b5196318ca
3
+ metadata.gz: 670bacf7b250485b96be28e6623494ea3ef88e93830b27de6c7141d273d53737
4
+ data.tar.gz: cdcfd66f3fedd185fdb58fc8f6cdd2da0da799ddb22166a1ce270d608c8378fb
5
5
  SHA512:
6
- metadata.gz: 9a0d4961997581c28d8b134a8f99377c7797da61f66271451890ab12c05372a09b6cb3c76442cd6dc9765ea745275099e7d0d067aa352b34fd1281f6fc4f0d83
7
- data.tar.gz: f723b4bb0993cd613bae796e27d45b23a87f4f9f269bfb65ca214501e1c4b481cea0fa4faa5b0f564d629a19364ac6c4afa6614be2a0999a1787c18c08c1d51d
6
+ metadata.gz: 371c96edecc48bf85bde49dbe33a12afd216da04f40db63ae9bbbedbdcd200e10fe995467a9d60dc385542f1869e5f39440f77dbc731707cf0555ac1f36f4319
7
+ data.tar.gz: f0822a534739ba7d31c14b37873236d41c6a8adae6714ecd86f50ae95ee01ea800576963b158fee142ef88349fb3785f4dec8ec21addaeabf220cc851783baa1
data/LICENSE.txt CHANGED
@@ -1,6 +1,4 @@
1
- Copyright (c) 2015-2020 AppFolio, inc.
2
-
3
- MIT License
1
+ Copyright (c) 2015-2021 AppFolio, Inc
4
2
 
5
3
  Permission is hereby granted, free of charge, to any person obtaining
6
4
  a copy of this software and associated documentation files (the
@@ -3,24 +3,18 @@
3
3
  require_relative 'lib/ae_network_connection_exception/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'ae_network_connection_exception'
7
- spec.version = AeNetworkConnectionException::VERSION
8
- spec.author = 'Appfolio, Inc.'
9
- spec.email = 'opensource@appfolio.com'
10
- spec.summary = 'Provides sane exceptions for network failures'
11
- spec.description = 'Catch exceptions related to establishing a network connection and return a generic error.'
12
- spec.homepage = 'https://github.com/appfolio/ae_network_connection_exception'
13
- spec.license = 'MIT'
14
- spec.files = Dir['**/*'].select { |f| f[%r{^(lib/|test/|Rakefile$|README.md$|LICENSE.txt$|\w+\.*gemspec)}] }
15
- spec.require_paths = ['lib']
6
+ spec.name = 'ae_network_connection_exception'
7
+ spec.version = AeNetworkConnectionException::VERSION
8
+ spec.platform = Gem::Platform::RUBY
9
+ spec.author = 'AppFolio'
10
+ spec.email = 'opensource@appfolio.com'
11
+ spec.description = 'Catch exceptions related to establishing a network connection and return a generic error.'
12
+ spec.summary = 'Provides sane exceptions for network failures.'
13
+ spec.homepage = 'https://github.com/appfolio/ae_network_connection_exception'
14
+ spec.license = 'MIT'
15
+ spec.files = Dir['**/*'].select { |f| f[%r{^(lib/|LICENSE.txt|.*gemspec)}] }
16
+ spec.require_paths = ['lib']
17
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.6.3')
16
18
 
17
- spec.add_development_dependency('appraisal', '~> 2.2')
18
- spec.add_development_dependency('bundler', ['>= 1.7', '< 3.0'])
19
- spec.add_development_dependency('minitest', '~> 5.0')
20
- spec.add_development_dependency('minitest-reporters', '~> 1.4')
21
- spec.add_development_dependency('rake', '~> 10.0')
22
- spec.add_development_dependency('rest-client', '~> 2.0')
23
- spec.add_development_dependency('rubocop', '~> 0.80')
24
- spec.add_development_dependency('rubocop-minitest', '~> 0.6.2')
25
- spec.add_development_dependency('simplecov', '~> 0.17')
19
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
26
20
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AeNetworkConnectionException
4
- VERSION = '1.5.1'
4
+ VERSION = '1.6.0'
5
5
  end
metadata CHANGED
@@ -1,147 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ae_network_connection_exception
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
- - Appfolio, Inc.
8
- autorequire:
7
+ - AppFolio
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-04 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: appraisal
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.2'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '2.2'
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '1.7'
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '3.0'
37
- type: :development
38
- prerelease: false
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: '1.7'
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: '3.0'
47
- - !ruby/object:Gem::Dependency
48
- name: minitest
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '5.0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '5.0'
61
- - !ruby/object:Gem::Dependency
62
- name: minitest-reporters
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '1.4'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '1.4'
75
- - !ruby/object:Gem::Dependency
76
- name: rake
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '10.0'
82
- type: :development
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: '10.0'
89
- - !ruby/object:Gem::Dependency
90
- name: rest-client
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: '2.0'
96
- type: :development
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "~>"
101
- - !ruby/object:Gem::Version
102
- version: '2.0'
103
- - !ruby/object:Gem::Dependency
104
- name: rubocop
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: '0.80'
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "~>"
115
- - !ruby/object:Gem::Version
116
- version: '0.80'
117
- - !ruby/object:Gem::Dependency
118
- name: rubocop-minitest
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: 0.6.2
124
- type: :development
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: 0.6.2
131
- - !ruby/object:Gem::Dependency
132
- name: simplecov
133
- requirement: !ruby/object:Gem::Requirement
134
- requirements:
135
- - - "~>"
136
- - !ruby/object:Gem::Version
137
- version: '0.17'
138
- type: :development
139
- prerelease: false
140
- version_requirements: !ruby/object:Gem::Requirement
141
- requirements:
142
- - - "~>"
143
- - !ruby/object:Gem::Version
144
- version: '0.17'
11
+ date: 2022-02-22 00:00:00.000000000 Z
12
+ dependencies: []
145
13
  description: Catch exceptions related to establishing a network connection and return
146
14
  a generic error.
147
15
  email: opensource@appfolio.com
@@ -150,18 +18,15 @@ extensions: []
150
18
  extra_rdoc_files: []
151
19
  files:
152
20
  - LICENSE.txt
153
- - README.md
154
- - Rakefile
155
21
  - ae_network_connection_exception.gemspec
156
22
  - lib/ae_network_connection_exception.rb
157
23
  - lib/ae_network_connection_exception/version.rb
158
- - test/ae_network_connection_exception_test.rb
159
- - test/test_helper.rb
160
24
  homepage: https://github.com/appfolio/ae_network_connection_exception
161
25
  licenses:
162
26
  - MIT
163
- metadata: {}
164
- post_install_message:
27
+ metadata:
28
+ allowed_push_host: https://rubygems.org
29
+ post_install_message:
165
30
  rdoc_options: []
166
31
  require_paths:
167
32
  - lib
@@ -169,15 +34,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
169
34
  requirements:
170
35
  - - ">="
171
36
  - !ruby/object:Gem::Version
172
- version: '0'
37
+ version: 2.6.3
173
38
  required_rubygems_version: !ruby/object:Gem::Requirement
174
39
  requirements:
175
40
  - - ">="
176
41
  - !ruby/object:Gem::Version
177
42
  version: '0'
178
43
  requirements: []
179
- rubygems_version: 3.0.6
180
- signing_key:
44
+ rubygems_version: 3.3.3
45
+ signing_key:
181
46
  specification_version: 4
182
- summary: Provides sane exceptions for network failures
47
+ summary: Provides sane exceptions for network failures.
183
48
  test_files: []
data/README.md DELETED
@@ -1,40 +0,0 @@
1
- # AeNetworkConnectionException
2
-
3
- Catch exceptions related to establishing a network connection and return a generic error.
4
-
5
- ## Installation
6
-
7
- Add this line to your application's Gemfile:
8
-
9
- ```ruby
10
- gem 'ae_network_connection_exception'
11
- ```
12
-
13
- And then execute:
14
-
15
- $ bundle
16
-
17
- Or install it yourself as:
18
-
19
- $ gem install ae_network_connection_exception
20
-
21
- ## Usage
22
-
23
- ```ruby
24
- AeNetworkConnectionException.try do
25
- # your code that will make a network call
26
- end
27
- ```
28
-
29
- If your network call failed to establish a network connection, an exception of this type will be thrown:
30
- ```ruby
31
- AeNetworkConnectionException::ConnectionNotEstablished
32
- ```
33
-
34
- ## Contributing
35
-
36
- 1. Fork it (https://github.com/appfolio/ae_network_connection_exception/fork)
37
- 2. Create your feature branch (`git checkout -b my-new-feature`)
38
- 3. Commit your changes (`git commit -am 'Add some feature'`)
39
- 4. Push to the branch (`git push origin my-new-feature`)
40
- 5. Create a new Pull Request
data/Rakefile DELETED
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler'
4
-
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- warn e.message
9
- warn 'Run `bundle install` to install missing gems'
10
- exit e.status_code
11
- end
12
-
13
- require 'rake/testtask'
14
-
15
- Rake::TestTask.new(:test) do |test|
16
- test.libs << 'lib' << 'test'
17
- test.pattern = 'test/**/*_test.rb'
18
- test.verbose = true
19
- end
20
-
21
- task default: :test
@@ -1,114 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- module AeNetworkConnectionException
6
- class AeNetworkConnectionExceptionTest < Minitest::Test
7
- def test_that_it_has_a_version_number
8
- refute_nil ::AeNetworkConnectionException::VERSION
9
- end
10
-
11
- def test_connection_not_established_exception
12
- parent_exception = AeNetworkConnectionException::ConnectionNotEstablished.new('Parent Message')
13
-
14
- assert_nil parent_exception.cause
15
- assert_equal 'Parent Message', parent_exception.message
16
-
17
- begin
18
- child_exception = nil
19
- begin
20
- raise StandardError, 'New Child Message'
21
- rescue StandardError => e
22
- child_exception = e
23
- AeNetworkConnectionException::ConnectionNotEstablished.new('New Parent Message')
24
- end
25
- rescue AeNetworkConnectionException::ConnectionNotEstablished => e
26
- refute_nil child_exception
27
- assert_equal child_exception, e.cause
28
- assert_equal 'New Parent Message, cause => StandardError: New Child Message', e.message
29
- end
30
- end
31
-
32
- def test_ae_network_connection_exception_try__doesnt_catch_non_network_exceptions
33
- exception = StandardError.new
34
- e = return_raised_error do
35
- AeNetworkConnectionException.try do
36
- raise exception
37
- end
38
- end
39
- assert_equal exception, e
40
- end
41
-
42
- def test_ae_network_connection_exception_try__raises_connection_not_establised_exception
43
- AeNetworkConnectionException.exception_signatures.each do |e|
44
- assert_connection_not_established_thrown_for(e)
45
- end
46
-
47
- econnreset = Errno::ECONNRESET.new('Connection timed out - connect(2) for "example.com" port 443')
48
- assert_connection_not_established_not_thrown_for(econnreset)
49
- etimeout = Errno::ETIMEDOUT.new('Connection timed out - recvfrom(2) for "example.com" port 443')
50
- assert_connection_not_established_not_thrown_for(etimeout)
51
- end
52
-
53
- def test_ae_network_connection_exception_try__raises_connection_not_establised_exception_rest_client_open_timeout
54
- open_timeout = RestClient::Exceptions::OpenTimeout.new
55
- assert_connection_not_established_thrown_for(open_timeout)
56
- end
57
-
58
- def test_exception_signatures
59
- assert_equal expected_signatures.size, AeNetworkConnectionException.exception_signatures.size
60
-
61
- expected_signatures.each do |e|
62
- assert_includes AeNetworkConnectionException.exception_signatures, e
63
- end
64
- end
65
-
66
- def test_rest_client_not_defined
67
- old = RestClient::Exceptions::OpenTimeout
68
- RestClient::Exceptions.send(:remove_const, :OpenTimeout)
69
-
70
- assert_empty AeNetworkConnectionException.send(:other_exceptions)
71
- ensure
72
- RestClient::Exceptions.const_set(:OpenTimeout, old)
73
- end
74
-
75
- private
76
-
77
- def expected_signatures
78
- [
79
- SocketError.new('getaddrinfo: Name or service not known'),
80
- Errno::ECONNREFUSED.new('Connection refused - connect(2) for "example.com" port 443'),
81
- Errno::ETIMEDOUT.new('Connection timed out - connect(2) for "example.com" port 443'),
82
- Net::OpenTimeout.new('message'),
83
- Errno::ECONNRESET.new('Connection reset by peer - SSL_connect'),
84
- Errno::EHOSTUNREACH.new('No route to host - connect(2) for "example.com" port 443'),
85
- Errno::ENETUNREACH.new('Network is unreachable - connect(2) for "example.com" port 443')
86
- ]
87
- end
88
-
89
- def assert_connection_not_established_thrown_for(exception)
90
- e = return_raised_error do
91
- AeNetworkConnectionException.try do
92
- raise exception
93
- end
94
- end
95
- assert_equal AeNetworkConnectionException::ConnectionNotEstablished, e.class
96
- assert_equal exception, e.cause
97
- end
98
-
99
- def assert_connection_not_established_not_thrown_for(exception)
100
- e = return_raised_error do
101
- AeNetworkConnectionException.try do
102
- raise exception
103
- end
104
- end
105
- assert_equal exception, e
106
- end
107
-
108
- def return_raised_error
109
- yield
110
- rescue StandardError => e
111
- e
112
- end
113
- end
114
- end
data/test/test_helper.rb DELETED
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler'
4
-
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- warn e.message
9
- warn 'Run `bundle install` to install missing gems'
10
- exit e.status_code
11
- end
12
-
13
- if ENV['WITH_COVERAGE'] == 'true'
14
- require 'simplecov'
15
- SimpleCov.start do
16
- enable_coverage :branch
17
- add_filter %r{\A/test}
18
- end
19
- end
20
-
21
- require 'ae_network_connection_exception'
22
- require 'minitest/autorun'
23
- require 'minitest/reporters'
24
- require 'rest-client'
25
-
26
- MiniTest::Reporters.use!