barsoom_utils 0.1.1.10 → 0.1.1.14
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 +4 -4
- data/Gemfile +13 -0
- data/README.md +3 -3
- data/VERSION +1 -1
- data/barsoom_utils.gemspec +0 -11
- data/lib/barsoom_utils/exception_notifier.rb +0 -12
- data/lib/barsoom_utils/version.rb +1 -0
- data/shared_rubocop.yml +12 -0
- data/spec/exception_notifier_spec.rb +0 -58
- metadata +4 -144
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6385dde2f2c79bacbff6edd5e2b754199960a31c79a5ea1c187664746ba1a206
|
4
|
+
data.tar.gz: 002b11593aab5d9a8903e6b92c35246e3fa640dcfa500d36676cb47cdbd5396c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eac4e598b06957dfe3d37fe4fd8fda8e0e930964cf313d84b2ef8f9f0c64441dd89d283b0008d05009118ce41b0af1fe61ada9bc47953c5f8aa1d366a10a231b
|
7
|
+
data.tar.gz: f118ca3df414c9ab90064b3de17907191fbfc734df2c7186e4cb9f5845cecccf7f362e6ae06572b72bf221cd07b3749fa5d1384d79866c223147b757d3d4de06
|
data/Gemfile
CHANGED
@@ -3,3 +3,16 @@ source "https://rubygems.org"
|
|
3
3
|
|
4
4
|
# Specify your gem's dependencies in barsoom_utils.gemspec
|
5
5
|
gemspec
|
6
|
+
|
7
|
+
group :development, :test do
|
8
|
+
gem "attr_extras"
|
9
|
+
gem "bundler"
|
10
|
+
gem "fixme"
|
11
|
+
gem "honeybadger"
|
12
|
+
gem "httparty"
|
13
|
+
gem "lolcat"
|
14
|
+
gem "rake"
|
15
|
+
gem "redis"
|
16
|
+
gem "rspec"
|
17
|
+
gem "rubocop"
|
18
|
+
end
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@ It's only intended for internal use, but it's public in case others find parts o
|
|
9
9
|
Add this line to your application's Gemfile:
|
10
10
|
|
11
11
|
```ruby
|
12
|
-
gem "barsoom_utils"
|
12
|
+
gem "barsoom_utils"
|
13
13
|
```
|
14
14
|
|
15
15
|
And then execute:
|
@@ -56,8 +56,8 @@ inherit_gem:
|
|
56
56
|
Running tests:
|
57
57
|
|
58
58
|
rake
|
59
|
-
|
60
|
-
|
59
|
+
|
60
|
+
This gem gets released automatically, with the build number appended to the version defined in `VERSION`.
|
61
61
|
|
62
62
|
## Contributing
|
63
63
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.1.
|
1
|
+
0.1.1.14
|
data/barsoom_utils.gemspec
CHANGED
@@ -17,16 +17,5 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0")
|
18
18
|
spec.require_paths = [ "lib" ]
|
19
19
|
|
20
|
-
spec.add_development_dependency "bundler"
|
21
|
-
spec.add_development_dependency "rake"
|
22
|
-
spec.add_development_dependency "rspec"
|
23
|
-
spec.add_development_dependency "httparty"
|
24
|
-
spec.add_development_dependency "lolcat"
|
25
|
-
spec.add_development_dependency "attr_extras"
|
26
|
-
spec.add_development_dependency "redis"
|
27
|
-
spec.add_development_dependency "honeybadger"
|
28
|
-
spec.add_development_dependency "fixme"
|
29
|
-
spec.add_development_dependency "rubocop"
|
30
|
-
|
31
20
|
# Run time dependencies should not be specified here. You are unlikely to use all of BarsoomUtils in each project, so instead, add the gems that are needed in the project.
|
32
21
|
end
|
@@ -46,17 +46,5 @@ module BarsoomUtils
|
|
46
46
|
Honeybadger.context.clear!
|
47
47
|
Honeybadger.context(old_context)
|
48
48
|
end
|
49
|
-
|
50
|
-
# While developing a feature we'd like the feature developers to be responsible for any errors that occur.
|
51
|
-
# Wrapping the new code with this tags the errors as "wip" in order to hide them from the dashboard.
|
52
|
-
def self.developers_working_on_this_feature_are_responsible_for_errors_until(expire_on, &block)
|
53
|
-
block.call
|
54
|
-
rescue => ex
|
55
|
-
FIXME "#{expire_on}: WIP error-handling code needs to be removed!"
|
56
|
-
notify(ex, context: { tags: "wip" })
|
57
|
-
|
58
|
-
is_rails_production = defined?(Rails) && Rails.env.production?
|
59
|
-
raise unless is_rails_production
|
60
|
-
end
|
61
49
|
end
|
62
50
|
end
|
data/shared_rubocop.yml
CHANGED
@@ -245,3 +245,15 @@ Style/HashSyntax:
|
|
245
245
|
|
246
246
|
Security/IoMethods: # new in 1.22
|
247
247
|
Enabled: true
|
248
|
+
|
249
|
+
# https://docs.rubocop.org/rubocop/cops_gemspec.html#gemspecduplicatedassignment
|
250
|
+
Gemspec/DuplicatedAssignment:
|
251
|
+
Enabled: true
|
252
|
+
|
253
|
+
# https://docs.rubocop.org/rubocop/cops_gemspec.html#gemspecordereddependencies
|
254
|
+
Gemspec/OrderedDependencies:
|
255
|
+
Enabled: true
|
256
|
+
|
257
|
+
# https://docs.rubocop.org/rubocop/cops_gemspec.html#gemspecrequiremfa
|
258
|
+
Gemspec/RequireMFA:
|
259
|
+
Enabled: true
|
@@ -95,62 +95,4 @@ RSpec.describe BarsoomUtils::ExceptionNotifier do
|
|
95
95
|
expect(Honeybadger.get_context).to eq({ my_old_context: "hello" })
|
96
96
|
end
|
97
97
|
end
|
98
|
-
|
99
|
-
describe ".developers_working_on_this_feature_are_responsible_for_errors_until" do
|
100
|
-
before do
|
101
|
-
# We need some value, and this value means we don't have to rescue exceptions in some tests.
|
102
|
-
set_rails_production(true)
|
103
|
-
end
|
104
|
-
|
105
|
-
it "notifies Honeybadger with a 'wip' tag" do
|
106
|
-
ex = StandardError.new
|
107
|
-
|
108
|
-
BarsoomUtils::ExceptionNotifier.developers_working_on_this_feature_are_responsible_for_errors_until("9999-01-01") do
|
109
|
-
raise ex
|
110
|
-
end
|
111
|
-
|
112
|
-
expect(Honeybadger).to have_received(:notify).with(ex, context: { tags: "wip" })
|
113
|
-
end
|
114
|
-
|
115
|
-
it "does not raise the error in production" do
|
116
|
-
set_rails_production(true)
|
117
|
-
|
118
|
-
ex = StandardError.new
|
119
|
-
|
120
|
-
expect {
|
121
|
-
BarsoomUtils::ExceptionNotifier.developers_working_on_this_feature_are_responsible_for_errors_until("9999-01-01") do
|
122
|
-
raise ex
|
123
|
-
end
|
124
|
-
}.not_to raise_error
|
125
|
-
end
|
126
|
-
|
127
|
-
it "raises the error in non-production" do
|
128
|
-
set_rails_production(false)
|
129
|
-
|
130
|
-
ex = StandardError.new
|
131
|
-
|
132
|
-
expect {
|
133
|
-
BarsoomUtils::ExceptionNotifier.developers_working_on_this_feature_are_responsible_for_errors_until("9999-01-01") do
|
134
|
-
raise ex
|
135
|
-
end
|
136
|
-
}.to raise_error(ex)
|
137
|
-
end
|
138
|
-
|
139
|
-
it "sets a FIXME raise" do
|
140
|
-
set_rails_production(false)
|
141
|
-
|
142
|
-
expect {
|
143
|
-
BarsoomUtils::ExceptionNotifier.developers_working_on_this_feature_are_responsible_for_errors_until("1999-01-01") do
|
144
|
-
raise "hola"
|
145
|
-
end
|
146
|
-
}.to raise_error(Fixme::UnfixedError, /Fix by 1999-01-01: WIP error-handling/)
|
147
|
-
end
|
148
|
-
|
149
|
-
private
|
150
|
-
|
151
|
-
def set_rails_production(bool)
|
152
|
-
string_env = bool ? "production" : "test"
|
153
|
-
stub_const("Rails", double(:rails, env: double(:env, production?: bool, to_s: string_env)))
|
154
|
-
end
|
155
|
-
end
|
156
98
|
end
|
metadata
CHANGED
@@ -1,155 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: barsoom_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.1.
|
4
|
+
version: 0.1.1.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomas Skogberg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rspec
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: httparty
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: lolcat
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: attr_extras
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: redis
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: honeybadger
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: fixme
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: rubocop
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
11
|
+
date: 2022-01-12 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
153
13
|
description:
|
154
14
|
email:
|
155
15
|
- tomas.skogberg@gmail.com
|
@@ -200,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
200
60
|
- !ruby/object:Gem::Version
|
201
61
|
version: '0'
|
202
62
|
requirements: []
|
203
|
-
rubygems_version: 3.2.
|
63
|
+
rubygems_version: 3.2.32
|
204
64
|
signing_key:
|
205
65
|
specification_version: 4
|
206
66
|
summary: Various helpful utils
|