rollbar 2.23.2 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.github/pull_request_template.md +25 -0
  3. data/.github/workflows/ci.yml +118 -0
  4. data/.rubocop.yml +85 -34
  5. data/Gemfile +22 -22
  6. data/README.md +11 -9
  7. data/data/rollbar.snippet.js +1 -1
  8. data/docs/configuration.md +8 -0
  9. data/gemfiles/rails30.gemfile +18 -35
  10. data/gemfiles/rails31.gemfile +21 -37
  11. data/gemfiles/rails32.gemfile +14 -31
  12. data/gemfiles/rails40.gemfile +13 -32
  13. data/gemfiles/rails41.gemfile +12 -31
  14. data/gemfiles/rails42.gemfile +12 -35
  15. data/gemfiles/rails50.gemfile +17 -29
  16. data/gemfiles/rails51.gemfile +17 -29
  17. data/gemfiles/rails52.gemfile +7 -14
  18. data/gemfiles/rails60.gemfile +7 -20
  19. data/gemfiles/rails61.gemfile +54 -0
  20. data/lib/generators/rollbar/rollbar_generator.rb +18 -14
  21. data/lib/generators/rollbar/templates/{initializer.rb → initializer.erb} +0 -0
  22. data/lib/rails/rollbar_runner.rb +15 -6
  23. data/lib/rollbar/capistrano.rb +17 -9
  24. data/lib/rollbar/capistrano3.rb +8 -2
  25. data/lib/rollbar/capistrano_tasks.rb +44 -8
  26. data/lib/rollbar/configuration.rb +128 -84
  27. data/lib/rollbar/delay/shoryuken.rb +4 -3
  28. data/lib/rollbar/delay/sidekiq.rb +3 -1
  29. data/lib/rollbar/delay/sucker_punch.rb +1 -2
  30. data/lib/rollbar/delay/thread.rb +3 -2
  31. data/lib/rollbar/deploy.rb +8 -7
  32. data/lib/rollbar/encoding/encoder.rb +10 -3
  33. data/lib/rollbar/exception_reporter.rb +17 -8
  34. data/lib/rollbar/item/backtrace.rb +11 -9
  35. data/lib/rollbar/item/frame.rb +6 -5
  36. data/lib/rollbar/item/locals.rb +3 -2
  37. data/lib/rollbar/item.rb +68 -40
  38. data/lib/rollbar/json.rb +2 -1
  39. data/lib/rollbar/language_support.rb +0 -6
  40. data/lib/rollbar/lazy_store.rb +3 -7
  41. data/lib/rollbar/logger.rb +2 -0
  42. data/lib/rollbar/logger_proxy.rb +3 -1
  43. data/lib/rollbar/middleware/js.rb +64 -37
  44. data/lib/rollbar/middleware/rack/builder.rb +3 -3
  45. data/lib/rollbar/middleware/rack/test_session.rb +3 -3
  46. data/lib/rollbar/middleware/rack.rb +4 -4
  47. data/lib/rollbar/middleware/rails/rollbar.rb +9 -6
  48. data/lib/rollbar/middleware/rails/show_exceptions.rb +8 -4
  49. data/lib/rollbar/notifier/trace_with_bindings.rb +4 -2
  50. data/lib/rollbar/notifier.rb +272 -159
  51. data/lib/rollbar/plugin.rb +8 -8
  52. data/lib/rollbar/plugins/active_job.rb +11 -2
  53. data/lib/rollbar/plugins/delayed_job/plugin.rb +19 -2
  54. data/lib/rollbar/plugins/goalie.rb +27 -16
  55. data/lib/rollbar/plugins/rails/controller_methods.rb +18 -14
  56. data/lib/rollbar/plugins/rails/railtie30.rb +2 -1
  57. data/lib/rollbar/plugins/rails/railtie32.rb +2 -1
  58. data/lib/rollbar/plugins/rails/railtie_mixin.rb +2 -2
  59. data/lib/rollbar/plugins/rails.rb +5 -2
  60. data/lib/rollbar/plugins/rake.rb +2 -1
  61. data/lib/rollbar/plugins/sidekiq/plugin.rb +37 -20
  62. data/lib/rollbar/plugins/sidekiq.rb +1 -1
  63. data/lib/rollbar/plugins/thread.rb +8 -7
  64. data/lib/rollbar/plugins/validations.rb +3 -1
  65. data/lib/rollbar/rake_tasks.rb +1 -2
  66. data/lib/rollbar/request_data_extractor.rb +43 -16
  67. data/lib/rollbar/rollbar_test.rb +9 -118
  68. data/lib/rollbar/scrubbers/params.rb +13 -7
  69. data/lib/rollbar/scrubbers/url.rb +56 -17
  70. data/lib/rollbar/scrubbers.rb +1 -1
  71. data/lib/rollbar/truncation/remove_any_key_strategy.rb +4 -1
  72. data/lib/rollbar/truncation/remove_extra_strategy.rb +3 -1
  73. data/lib/rollbar/util/hash.rb +14 -7
  74. data/lib/rollbar/util/ip_anonymizer.rb +1 -1
  75. data/lib/rollbar/util.rb +19 -13
  76. data/lib/rollbar/version.rb +1 -1
  77. data/lib/rollbar.rb +12 -7
  78. data/lib/tasks/benchmark.rake +2 -1
  79. data/rollbar.gemspec +5 -2
  80. data/spec/support/rollbar_api.rb +67 -0
  81. metadata +9 -6
  82. data/.travis.yml +0 -284
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rollbar
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.23.2
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rollbar, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-13 00:00:00.000000000 Z
11
+ date: 2021-10-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Easy and powerful exception tracking for Ruby
14
14
  email:
@@ -19,10 +19,11 @@ extensions: []
19
19
  extra_rdoc_files: []
20
20
  files:
21
21
  - ".codeclimate.yml"
22
+ - ".github/pull_request_template.md"
23
+ - ".github/workflows/ci.yml"
22
24
  - ".gitignore"
23
25
  - ".gitmodules"
24
26
  - ".rubocop.yml"
25
- - ".travis.yml"
26
27
  - Appraisals
27
28
  - CHANGELOG.md
28
29
  - Gemfile
@@ -46,8 +47,9 @@ files:
46
47
  - gemfiles/rails51.gemfile
47
48
  - gemfiles/rails52.gemfile
48
49
  - gemfiles/rails60.gemfile
50
+ - gemfiles/rails61.gemfile
49
51
  - lib/generators/rollbar/rollbar_generator.rb
50
- - lib/generators/rollbar/templates/initializer.rb
52
+ - lib/generators/rollbar/templates/initializer.erb
51
53
  - lib/rails/rollbar_runner.rb
52
54
  - lib/rollbar.rb
53
55
  - lib/rollbar/capistrano.rb
@@ -134,6 +136,7 @@ files:
134
136
  - lib/tasks/benchmark.rake
135
137
  - lib/tasks/tasks.rake
136
138
  - rollbar.gemspec
139
+ - spec/support/rollbar_api.rb
137
140
  homepage: https://rollbar.com
138
141
  licenses:
139
142
  - MIT
@@ -151,14 +154,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
151
154
  requirements:
152
155
  - - ">="
153
156
  - !ruby/object:Gem::Version
154
- version: 1.9.3
157
+ version: 2.0.0
155
158
  required_rubygems_version: !ruby/object:Gem::Requirement
156
159
  requirements:
157
160
  - - ">="
158
161
  - !ruby/object:Gem::Version
159
162
  version: '0'
160
163
  requirements: []
161
- rubygems_version: 3.1.2
164
+ rubygems_version: 3.1.4
162
165
  signing_key:
163
166
  specification_version: 4
164
167
  summary: Reports exceptions to Rollbar
data/.travis.yml DELETED
@@ -1,284 +0,0 @@
1
- sudo: false
2
- dist: trusty
3
- services:
4
- - redis-server
5
- language: ruby
6
-
7
- rvm:
8
- - 1.9.3
9
- - 2.0.0
10
- - 2.1.0
11
- - 2.2.2
12
- - 2.3.8
13
- - 2.4.5
14
- - 2.5.3
15
- - 2.6.5
16
- - 2.7.0
17
- - rbx
18
- # Travis's own rvm installer is failing on JRuby builds, TODO: reenable when fixed.
19
- # - jruby-9.1.9.0
20
-
21
- #
22
- # # About legacy JRuby
23
- #
24
- # Legacy JRubies (jruby-18mode, jruby-19mode) have been disabled for some time by
25
- # listing all possible targets in either the exclude or allow_failures sections.
26
- # I have taken a look at getting them running, and have found that no valid
27
- # combination of dependencies is possible for Rails 3.0 and higher. It appears
28
- # Rails 2.2 is meant to work, though I haven't tried it.
29
- #
30
- # For Rails 3.0, it is possible to get a working bundle with all gem dependencies,
31
- # but the JDBC adapter gem needs an earlier version of ActiveSupport, and it will
32
- # fail at runtime.
33
- #
34
- # For Rails 3.1 and 3.2, Rack 1.3.x and higher require Ruby 2.x, while Rails 3.x will
35
- # not accept any 1.2.x version of Rack. Even if this could be resolved, one would
36
- # hit the above runtime issue amyway.
37
- #
38
- # # About current JRuby
39
- #
40
- # While current JRuby builds aim to be Ruby 2.5.x compatible, the JDBC adapter
41
- # gem is constrained to only Rails 5.0, 5.1 and 5.2 at this time. (Old versions
42
- # of the gem allow >= Rails 2.2, but in practice it will not work with Rails 3.0
43
- # and higher because of the ActiveSupport issue described above.) For as long as
44
- # the test suite relies on Rails and SqlLite, it is not possible to include
45
- # earlier Rails for JRuby.
46
-
47
- jdk:
48
- # These are the JDKs currently supported on Travis (Trusty - Ubuntu 14.04)
49
- - openjdk7
50
- - openjdk8
51
- - oraclejdk8
52
- - oraclejdk9
53
- gemfile:
54
- - gemfiles/rails30.gemfile
55
- - gemfiles/rails31.gemfile
56
- - gemfiles/rails32.gemfile
57
- - gemfiles/rails40.gemfile
58
- - gemfiles/rails41.gemfile
59
- - gemfiles/rails42.gemfile
60
- - gemfiles/rails50.gemfile
61
- - gemfiles/rails51.gemfile
62
- - gemfiles/rails52.gemfile
63
- - gemfiles/rails60.gemfile
64
- matrix:
65
- include: []
66
-
67
- allow_failures:
68
- - rvm: ruby-head
69
- - rvm: jruby-head
70
- # oraclejdk9 has a dependency issue that needs to be investigated
71
- - jdk: oraclejdk9
72
-
73
- exclude:
74
- # Don't run tests for non-jruby environments with the JDK.
75
- # NOTE: openjdk7 is missing from these exclusions so that Travis will run at least 1 build for the given rvm.
76
- - rvm: 1.9.3
77
- jdk: openjdk8
78
- - rvm: 1.9.3
79
- jdk: oraclejdk8
80
- - rvm: 1.9.3
81
- jdk: oraclejdk9
82
- - rvm: 2.0.0
83
- jdk: openjdk8
84
- - rvm: 2.0.0
85
- jdk: oraclejdk8
86
- - rvm: 2.0.0
87
- jdk: oraclejdk9
88
- - rvm: 2.1.0
89
- jdk: openjdk8
90
- - rvm: 2.1.0
91
- jdk: oraclejdk8
92
- - rvm: 2.1.0
93
- jdk: oraclejdk9
94
- - rvm: 2.2.2
95
- jdk: openjdk8
96
- - rvm: 2.2.2
97
- jdk: oraclejdk8
98
- - rvm: 2.2.2
99
- jdk: oraclejdk9
100
- - rvm: 2.3.8
101
- jdk: openjdk8
102
- - rvm: 2.3.8
103
- jdk: oraclejdk8
104
- - rvm: 2.3.8
105
- jdk: oraclejdk9
106
- - rvm: 2.4.5
107
- jdk: openjdk8
108
- - rvm: 2.4.5
109
- jdk: oraclejdk8
110
- - rvm: 2.4.5
111
- jdk: oraclejdk9
112
- - rvm: 2.5.3
113
- jdk: openjdk8
114
- - rvm: 2.5.3
115
- jdk: oraclejdk8
116
- - rvm: 2.5.3
117
- jdk: oraclejdk9
118
- - rvm: 2.6.5
119
- jdk: openjdk8
120
- - rvm: 2.6.5
121
- jdk: oraclejdk8
122
- - rvm: 2.6.5
123
- jdk: oraclejdk9
124
- - rvm: 2.7.0
125
- jdk: openjdk8
126
- - rvm: 2.7.0
127
- jdk: oraclejdk8
128
- - rvm: 2.7.0
129
- jdk: oraclejdk9
130
-
131
- - rvm: ruby-head
132
- jdk: openjdk8
133
- - rvm: ruby-head
134
- jdk: oraclejdk8
135
- - rvm: ruby-head
136
- jdk: oraclejdk9
137
- - rvm: rbx
138
- jdk: openjdk8
139
- - rvm: rbx
140
- jdk: oraclejdk8
141
- - rvm: rbx
142
- jdk: oraclejdk9
143
-
144
- # Rails 6.x requires Ruby 2.5.0 or higher
145
- - rvm: 2.2.2
146
- gemfile: gemfiles/rails60.gemfile
147
- - rvm: 2.3.8
148
- gemfile: gemfiles/rails60.gemfile
149
- - rvm: 2.4.5
150
- gemfile: gemfiles/rails60.gemfile
151
- # Rails 5.x requires Ruby 2.2.2 or higher
152
- - rvm: 1.9.3
153
- gemfile: gemfiles/rails50.gemfile
154
- - rvm: 1.9.3
155
- gemfile: gemfiles/rails51.gemfile
156
- - rvm: 1.9.3
157
- gemfile: gemfiles/rails52.gemfile
158
- - rvm: 1.9.3
159
- gemfile: gemfiles/rails60.gemfile
160
- # Rails 5.x requires Ruby 2.2.2 or higher
161
- - rvm: 2.0.0
162
- gemfile: gemfiles/rails50.gemfile
163
- - rvm: 2.0.0
164
- gemfile: gemfiles/rails51.gemfile
165
- - rvm: 2.0.0
166
- gemfile: gemfiles/rails52.gemfile
167
- - rvm: 2.0.0
168
- gemfile: gemfiles/rails60.gemfile
169
- # Rails 5.x requires Ruby 2.2.2 or higher
170
- - rvm: 2.1.0
171
- gemfile: gemfiles/rails50.gemfile
172
- - rvm: 2.1.0
173
- gemfile: gemfiles/rails51.gemfile
174
- - rvm: 2.1.0
175
- gemfile: gemfiles/rails52.gemfile
176
- - rvm: 2.1.0
177
- gemfile: gemfiles/rails60.gemfile
178
- # MRI 2.2.2 supports Rails 3.2.x and higher, except Rails 5.2.4 and higher*
179
- # * ActionDispatch 5.2.4 uses Ruby 3.x safe navigation operator.
180
- - rvm: 2.2.2
181
- gemfile: gemfiles/rails30.gemfile
182
- - rvm: 2.2.2
183
- gemfile: gemfiles/rails31.gemfile
184
- - rvm: 2.2.2
185
- gemfile: gemfiles/rails52.gemfile
186
- # MRI 2.3.x supports Rails 4.0.x and higher
187
- - rvm: 2.3.8
188
- gemfile: gemfiles/rails30.gemfile
189
- - rvm: 2.3.8
190
- gemfile: gemfiles/rails31.gemfile
191
- - rvm: 2.3.8
192
- gemfile: gemfiles/rails32.gemfile
193
- - rvm: 2.3.8
194
- gemfile: gemfiles/rails40.gemfile
195
- - rvm: 2.3.8
196
- gemfile: gemfiles/rails41.gemfile
197
- # MRI 2.4.x and higher (e.g. 2.5.x, 2.6.x, etc) supports Rails 4.2.8 and higher
198
- # Rails lower than 4.2.8 is incompatible with Ruby 2.4 Integer class
199
- - rvm: 2.4.5
200
- gemfile: gemfiles/rails30.gemfile
201
- - rvm: 2.4.5
202
- gemfile: gemfiles/rails31.gemfile
203
- - rvm: 2.4.5
204
- gemfile: gemfiles/rails32.gemfile
205
- - rvm: 2.4.5
206
- gemfile: gemfiles/rails40.gemfile
207
- - rvm: 2.4.5
208
- gemfile: gemfiles/rails41.gemfile
209
- - rvm: 2.5.3
210
- gemfile: gemfiles/rails30.gemfile
211
- - rvm: 2.5.3
212
- gemfile: gemfiles/rails31.gemfile
213
- - rvm: 2.5.3
214
- gemfile: gemfiles/rails32.gemfile
215
- - rvm: 2.5.3
216
- gemfile: gemfiles/rails40.gemfile
217
- - rvm: 2.5.3
218
- gemfile: gemfiles/rails41.gemfile
219
- - rvm: 2.6.5
220
- gemfile: gemfiles/rails30.gemfile
221
- - rvm: 2.6.5
222
- gemfile: gemfiles/rails31.gemfile
223
- - rvm: 2.6.5
224
- gemfile: gemfiles/rails32.gemfile
225
- - rvm: 2.6.5
226
- gemfile: gemfiles/rails40.gemfile
227
- - rvm: 2.6.5
228
- gemfile: gemfiles/rails41.gemfile
229
- - rvm: 2.6.5
230
- gemfile: gemfiles/rails42.gemfile
231
- # Rails 6.x tries to be compatible with Ruby 2.7, though
232
- # it still throws a lot of warnings. No point testing earlier
233
- # Rails with Ruby 2.7.
234
- - rvm: 2.7.0
235
- gemfile: gemfiles/rails30.gemfile
236
- - rvm: 2.7.0
237
- gemfile: gemfiles/rails31.gemfile
238
- - rvm: 2.7.0
239
- gemfile: gemfiles/rails32.gemfile
240
- - rvm: 2.7.0
241
- gemfile: gemfiles/rails40.gemfile
242
- - rvm: 2.7.0
243
- gemfile: gemfiles/rails41.gemfile
244
- - rvm: 2.7.0
245
- gemfile: gemfiles/rails42.gemfile
246
- - rvm: 2.7.0
247
- gemfile: gemfiles/rails50.gemfile
248
- - rvm: 2.7.0
249
- gemfile: gemfiles/rails51.gemfile
250
- - rvm: 2.7.0
251
- gemfile: gemfiles/rails52.gemfile
252
- # JRuby JDBC Adapter is only compatible with Rails >= 5.x
253
- - rvm: jruby-9.1.9.0
254
- gemfile: gemfiles/rails30.gemfile
255
- - rvm: jruby-9.1.9.0
256
- gemfile: gemfiles/rails31.gemfile
257
- - rvm: jruby-9.1.9.0
258
- gemfile: gemfiles/rails32.gemfile
259
- - rvm: jruby-9.1.9.0
260
- gemfile: gemfiles/rails40.gemfile
261
- - rvm: jruby-9.1.9.0
262
- gemfile: gemfiles/rails41.gemfile
263
- - rvm: jruby-9.1.9.0
264
- gemfile: gemfiles/rails42.gemfile
265
- - rvm: rbx
266
- gemfile: gemfiles/rails30.gemfile
267
- - rvm: rbx
268
- gemfile: gemfiles/rails31.gemfile
269
- - rvm: rbx
270
- gemfile: gemfiles/rails32.gemfile
271
- - rvm: rbx
272
- gemfile: gemfiles/rails40.gemfile
273
- - rvm: rbx
274
- gemfile: gemfiles/rails41.gemfile
275
- - rvm: rbx
276
- gemfile: gemfiles/rails42.gemfile
277
- - rvm: rbx
278
- gemfile: gemfiles/rails50.gemfile
279
- - rvm: rbx
280
- gemfile: gemfiles/rails51.gemfile
281
- - rvm: rbx
282
- gemfile: gemfiles/rails52.gemfile
283
- - rvm: rbx
284
- gemfile: gemfiles/rails60.gemfile