airbrake-ruby 4.2.2-java → 4.2.3-java

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.

Potentially problematic release.


This version of airbrake-ruby might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 98cb0154c5664568cd2fc6d7becf87e3a3cce093
4
- data.tar.gz: e029092bdc54e5ead538ee74dbda4142e531e442
3
+ metadata.gz: 21a4892144d86df478ce7d7d694797e7ed01e1a6
4
+ data.tar.gz: b286b7e4ac43b7386c67ad1f98403a8f8cbc9371
5
5
  SHA512:
6
- metadata.gz: fce1fff2f9b1dd77063ba99435521d7b9620657213c0bbfb09b886b8d71804a559b4a41d2281eac8dc420971a0b8a6b8231d4b99aaf7f242aa53b108dbbdcf6d
7
- data.tar.gz: 2c417bfb7aca7750c0568e4f49da77c34c92e2b11600af44e66f2e2585d5cc06abe962fc8919ab4a1c70153038d70b504823d395ea8bdf2b5533a4617494fd3c
6
+ metadata.gz: f1840ca5c36d9d581403fa7eed0db66f4a750636b6759ae86f44e02b0246106035dcaf9946c4316ba16a61719844f6aabb690c12199c9e8d557a382c07b43e8c
7
+ data.tar.gz: 81cd2aa61fa9cb2f325f4b6d3578ff820db81393e8be563635963098c8c68e3e4020e55362fbb5df11a7a752ca47a83c3c08b4b62bf42122918f8185274c0efc
@@ -79,6 +79,18 @@ module Airbrake
79
79
  # @see Airbrake.$0
80
80
 
81
81
  class << self
82
+ # @since v4.2.3
83
+ # @api private
84
+ attr_accessor :performance_notifier
85
+
86
+ # @since v4.2.3
87
+ # @api private
88
+ attr_accessor :notice_notifier
89
+
90
+ # @since v4.2.3
91
+ # @api private
92
+ attr_accessor :deploy_notifier
93
+
82
94
  # Configures the Airbrake notifier.
83
95
  #
84
96
  # @example
@@ -96,13 +108,16 @@ module Airbrake
96
108
  def configure
97
109
  yield config = Airbrake::Config.instance
98
110
  Airbrake::Loggable.instance = config.logger
111
+
112
+ return if performance_notifier && notice_notifier && deploy_notifier
113
+
99
114
  reset
100
115
  end
101
116
 
102
117
  # @return [Boolean] true if the notifier was configured, false otherwise
103
118
  # @since v2.3.0
104
119
  def configured?
105
- @notice_notifier.configured?
120
+ notice_notifier.configured?
106
121
  end
107
122
 
108
123
  # Sends an exception to Airbrake asynchronously.
@@ -127,7 +142,7 @@ module Airbrake
127
142
  # @return [Airbrake::Promise]
128
143
  # @see .notify_sync
129
144
  def notify(exception, params = {}, &block)
130
- @notice_notifier.notify(exception, params, &block)
145
+ notice_notifier.notify(exception, params, &block)
131
146
  end
132
147
 
133
148
  # Sends an exception to Airbrake synchronously.
@@ -147,7 +162,7 @@ module Airbrake
147
162
  # @return [Airbrake::Promise] the reponse from the server
148
163
  # @see .notify
149
164
  def notify_sync(exception, params = {}, &block)
150
- @notice_notifier.notify_sync(exception, params, &block)
165
+ notice_notifier.notify_sync(exception, params, &block)
151
166
  end
152
167
 
153
168
  # Runs a callback before {.notify} or {.notify_sync} kicks in. This is
@@ -175,7 +190,7 @@ module Airbrake
175
190
  # @yieldreturn [void]
176
191
  # @return [void]
177
192
  def add_filter(filter = nil, &block)
178
- @notice_notifier.add_filter(filter, &block)
193
+ notice_notifier.add_filter(filter, &block)
179
194
  end
180
195
 
181
196
  # Deletes a filter added via {Airbrake#add_filter}.
@@ -192,7 +207,7 @@ module Airbrake
192
207
  # @since v3.1.0
193
208
  # @note This method cannot delete filters assigned via the Proc form.
194
209
  def delete_filter(filter_class)
195
- @notice_notifier.delete_filter(filter_class)
210
+ notice_notifier.delete_filter(filter_class)
196
211
  end
197
212
 
198
213
  # Builds an Airbrake notice. This is useful, if you want to add or modify a
@@ -210,7 +225,7 @@ module Airbrake
210
225
  # @return [Airbrake::Notice] the notice built with help of the given
211
226
  # arguments
212
227
  def build_notice(exception, params = {})
213
- @notice_notifier.build_notice(exception, params)
228
+ notice_notifier.build_notice(exception, params)
214
229
  end
215
230
 
216
231
  # Makes the notice notifier a no-op, which means you cannot use the
@@ -223,7 +238,7 @@ module Airbrake
223
238
  #
224
239
  # @return [void]
225
240
  def close
226
- @notice_notifier.close
241
+ notice_notifier.close
227
242
  end
228
243
 
229
244
  # Pings the Airbrake Deploy API endpoint about the occurred deploy.
@@ -236,7 +251,7 @@ module Airbrake
236
251
  # @option deploy_info [Symbol] :version
237
252
  # @return [void]
238
253
  def notify_deploy(deploy_info)
239
- @deploy_notifier.notify(deploy_info)
254
+ deploy_notifier.notify(deploy_info)
240
255
  end
241
256
 
242
257
  # Merges +context+ with the current context.
@@ -284,7 +299,7 @@ module Airbrake
284
299
  # @param [Hash{Symbol=>Object}] context
285
300
  # @return [void]
286
301
  def merge_context(context)
287
- @notice_notifier.merge_context(context)
302
+ notice_notifier.merge_context(context)
288
303
  end
289
304
 
290
305
  # Increments request statistics of a certain +route+ that was invoked on
@@ -323,7 +338,7 @@ module Airbrake
323
338
  # @since v3.0.0
324
339
  # @see Airbrake::PerformanceNotifier#notify
325
340
  def notify_request(request_info)
326
- @performance_notifier.notify(Request.new(request_info))
341
+ performance_notifier.notify(Request.new(request_info))
327
342
  end
328
343
 
329
344
  # Increments SQL statistics of a certain +query+ that was invoked on
@@ -354,7 +369,7 @@ module Airbrake
354
369
  # @since v3.2.0
355
370
  # @see Airbrake::PerformanceNotifier#notify
356
371
  def notify_query(query_info)
357
- @performance_notifier.notify(Query.new(query_info))
372
+ performance_notifier.notify(Query.new(query_info))
358
373
  end
359
374
 
360
375
  # Increments performance breakdown statistics of a certain route.
@@ -378,7 +393,7 @@ module Airbrake
378
393
  # @return [void]
379
394
  # @since v4.2.0
380
395
  def notify_performance_breakdown(breakdown_info)
381
- @performance_notifier.notify(PerformanceBreakdown.new(breakdown_info))
396
+ performance_notifier.notify(PerformanceBreakdown.new(breakdown_info))
382
397
  end
383
398
 
384
399
  # Runs a callback before {.notify_request} or {.notify_query} kicks in. This
@@ -413,7 +428,7 @@ module Airbrake
413
428
  # @since v3.2.0
414
429
  # @see Airbrake::PerformanceNotifier#add_filter
415
430
  def add_performance_filter(filter = nil, &block)
416
- @performance_notifier.add_filter(filter, &block)
431
+ performance_notifier.add_filter(filter, &block)
417
432
  end
418
433
 
419
434
  # Deletes a filter added via {Airbrake#add_performance_filter}.
@@ -431,20 +446,22 @@ module Airbrake
431
446
  # @note This method cannot delete filters assigned via the Proc form.
432
447
  # @see Airbrake::PerformanceNotifier#delete_filter
433
448
  def delete_performance_filter(filter_class)
434
- @performance_notifier.delete_filter(filter_class)
449
+ performance_notifier.delete_filter(filter_class)
435
450
  end
436
451
 
437
452
  # Resets all notifiers, including its filters
438
453
  # @return [void]
439
454
  # @since v4.2.2
440
455
  def reset
441
- close if @notice_notifier && configured?
456
+ close if notice_notifier && configured?
442
457
 
443
- @performance_notifier = PerformanceNotifier.new
444
- @notice_notifier = NoticeNotifier.new
445
- @deploy_notifier = DeployNotifier.new
458
+ self.performance_notifier = PerformanceNotifier.new
459
+ self.notice_notifier = NoticeNotifier.new
460
+ self.deploy_notifier = DeployNotifier.new
446
461
  end
447
462
  end
448
463
  end
449
464
 
450
- Airbrake.reset
465
+ Airbrake.configure do
466
+ # Initialize Airbrake with default notifiers.
467
+ end
@@ -2,5 +2,5 @@
2
2
  # More information: http://semver.org/
3
3
  module Airbrake
4
4
  # @return [String] the library version
5
- AIRBRAKE_RUBY_VERSION = '4.2.2'.freeze
5
+ AIRBRAKE_RUBY_VERSION = '4.2.3'.freeze
6
6
  end
@@ -1,12 +1,24 @@
1
1
  RSpec.describe Airbrake do
2
- before do
3
- Airbrake::Config.instance = Airbrake::Config.new
4
- described_class.reset
2
+ it "gets initialized with a performance notifier" do
3
+ expect(described_class.performance_notifier).not_to be_nil
5
4
  end
6
5
 
7
- after { described_class.reset }
6
+ it "gets initialized with a notice notifier" do
7
+ expect(described_class.notice_notifier).not_to be_nil
8
+ end
9
+
10
+ it "gets initialized with a deploy notifier" do
11
+ expect(described_class.deploy_notifier).not_to be_nil
12
+ end
8
13
 
9
14
  describe ".configure" do
15
+ before do
16
+ Airbrake::Config.instance = Airbrake::Config.new
17
+ described_class.reset
18
+ end
19
+
20
+ after { described_class.reset }
21
+
10
22
  it "yields the config" do
11
23
  expect do |b|
12
24
  begin
@@ -41,18 +53,18 @@ RSpec.describe Airbrake do
41
53
 
42
54
  context "when a notifier was configured" do
43
55
  before do
44
- expect(described_class).to receive(:configured?).twice.and_return(true)
56
+ expect(described_class).to receive(:configured?).and_return(true)
45
57
  end
46
58
 
47
59
  it "closes previously configured notice notifier" do
48
- expect(described_class).to receive(:close).twice
60
+ expect(described_class).to receive(:close)
49
61
  described_class.configure {}
50
62
  end
51
63
  end
52
64
 
53
65
  context "when a notifier wasn't configured" do
54
66
  before do
55
- expect(described_class).to receive(:configured?).twice.and_return(false)
67
+ expect(described_class).to receive(:configured?).and_return(false)
56
68
  end
57
69
 
58
70
  it "doesn't close previously configured notice notifier" do
@@ -60,16 +72,42 @@ RSpec.describe Airbrake do
60
72
  described_class.configure {}
61
73
  end
62
74
  end
75
+
76
+ context "when called multiple times" do
77
+ it "doesn't overwrite performance notifier" do
78
+ described_class.configure {}
79
+ performance_notifier = described_class.performance_notifier
80
+
81
+ described_class.configure {}
82
+ expect(described_class.performance_notifier).to eql(performance_notifier)
83
+ end
84
+
85
+ it "doesn't overwrite notice notifier" do
86
+ described_class.configure {}
87
+ notice_notifier = described_class.notice_notifier
88
+
89
+ described_class.configure {}
90
+ expect(described_class.notice_notifier).to eql(notice_notifier)
91
+ end
92
+
93
+ it "doesn't overwrite deploy notifier" do
94
+ described_class.configure {}
95
+ deploy_notifier = described_class.deploy_notifier
96
+
97
+ described_class.configure {}
98
+ expect(described_class.deploy_notifier).to eql(deploy_notifier)
99
+ end
100
+ end
63
101
  end
64
102
 
65
103
  describe "#reset" do
66
104
  context "when Airbrake was previously configured" do
67
105
  before do
68
- expect(described_class).to receive(:configured?).twice.and_return(true)
106
+ expect(described_class).to receive(:configured?).and_return(true)
69
107
  end
70
108
 
71
109
  it "closes notice notifier" do
72
- expect(described_class).to receive(:close).twice
110
+ expect(described_class).to receive(:close)
73
111
  subject.reset
74
112
  end
75
113
  end
@@ -1,7 +1,9 @@
1
1
  RSpec.describe Airbrake::Filters::GitRevisionFilter do
2
2
  subject { described_class.new('root/dir') }
3
3
 
4
- let(:notice) { Airbrake::Notice.new(AirbrakeTestError.new) }
4
+ # 'let!', not 'let' to make sure Notice doesn't call File.exist? with
5
+ # unexpected arguments.
6
+ let!(:notice) { Airbrake::Notice.new(AirbrakeTestError.new) }
5
7
 
6
8
  context "when context/revision is defined" do
7
9
  it "doesn't attach anything to context/revision" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: airbrake-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.2
4
+ version: 4.2.3
5
5
  platform: java
6
6
  authors:
7
7
  - Airbrake Technologies, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-27 00:00:00.000000000 Z
11
+ date: 2019-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbtree-jruby