ndr_error 2.0.3 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6aeadb1fe389fc0c885ef62953faec9f0eb0c7bdf031834a3549e5e220443d52
4
- data.tar.gz: 80404210a0ff437c92d597be6f31a749bc65de7028f6073f4f7e7d3df3bc33b5
3
+ metadata.gz: 6865b3a4040710403bca5666e77832264f6a37e6c796056fd53ff0f699f00b3a
4
+ data.tar.gz: 6040c091ea3cd82836fa14a2fedb6f53228e29f094d34858d60f801072156d2f
5
5
  SHA512:
6
- metadata.gz: f5cc032662979dad8c35ce8f85f6b983243bde3baca412884bbb549dca29d65bef5adf463a66bb7b0c3a2e72683ab767235ed197a816a41d9885ed03c3da8bfb
7
- data.tar.gz: b5b7c8a71db149a3e0cfc30f091c49bc9616cac2d7184a9af66a12a63b4110a95efc2b6d947c17c6a22154763d05c6a955e679baae02bde5ccd8859f78a08fa2
6
+ metadata.gz: 0d095ec96d771ec3b5f080f47c120f1004108de7f1db63ff99fb7a52176ed0a7ad5ba0b3a68e0290a4452e80fd01dc7a709efe8ad46a7b6abb01edcb32ea4fde
7
+ data.tar.gz: 235331ff5050c58f76dcc6a64c802d82a7dcb5b06d9bc976a693627a2e21adff9daafce7586fee99c75cfecda9d3ed69eb10dbc90ef4e5ac14447dbc8f0e4d3c
@@ -0,0 +1,27 @@
1
+ module NdrError
2
+ # contains logic for registering callbacks
3
+ module Callbacks
4
+ def self.extended(base)
5
+ base.mattr_accessor :_after_log_callbacks
6
+ base._after_log_callbacks = []
7
+ end
8
+
9
+ # Register callbacks that will be called after an exception
10
+ # has been logged.
11
+ #
12
+ # NdrError.after_log do |exception, fingerprint, log|
13
+ # # ...
14
+ # end
15
+ #
16
+ # Multiple callbacks can be registered.
17
+ def after_log(&block)
18
+ _after_log_callbacks << block
19
+ end
20
+
21
+ def run_after_log_callbacks(*args)
22
+ _after_log_callbacks.each do |callback|
23
+ callback.call(*args)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -16,9 +16,11 @@ module NdrError
16
16
 
17
17
  print = Fingerprint.find_or_create_by_id(log.md5_digest)
18
18
  print.causal_error_fingerprint = parent_print
19
- error = print.store_log(log)
19
+ log = print.store_log(log)
20
20
 
21
- [print, error]
21
+ NdrError.run_after_log_callbacks(exception, print, log)
22
+
23
+ [print, log]
22
24
  end
23
25
 
24
26
  def monitor(ancillary_data: {}, request: nil, swallow: false)
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Contains the version of NdrError. Sourced by the gemspec.
4
4
  module NdrError
5
- VERSION = '2.0.3'.freeze
5
+ VERSION = '2.1.0'.freeze
6
6
  end
data/lib/ndr_error.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'ndr_error/engine'
2
2
 
3
3
  require 'ndr_error/backtrace_compression'
4
+ require 'ndr_error/callbacks'
4
5
  require 'ndr_error/finder'
5
6
  require 'ndr_error/fuzzing'
6
7
  require 'ndr_error/logging'
@@ -8,6 +9,7 @@ require 'ndr_error/uuid_builder'
8
9
 
9
10
  # Configuration for NdrError + convienence methods.
10
11
  module NdrError
12
+ extend Callbacks
11
13
  extend Finder
12
14
  extend Logging
13
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ndr_error
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - NCRS Development Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-25 00:00:00.000000000 Z
11
+ date: 2019-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -132,22 +132,16 @@ dependencies:
132
132
  name: ndr_dev_support
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
136
- - !ruby/object:Gem::Version
137
- version: '3.1'
138
135
  - - ">="
139
136
  - !ruby/object:Gem::Version
140
- version: 3.1.3
137
+ version: '0'
141
138
  type: :development
142
139
  prerelease: false
143
140
  version_requirements: !ruby/object:Gem::Requirement
144
141
  requirements:
145
- - - "~>"
146
- - !ruby/object:Gem::Version
147
- version: '3.1'
148
142
  - - ">="
149
143
  - !ruby/object:Gem::Version
150
- version: 3.1.3
144
+ version: '0'
151
145
  - !ruby/object:Gem::Dependency
152
146
  name: simplecov
153
147
  requirement: !ruby/object:Gem::Requirement
@@ -189,6 +183,7 @@ files:
189
183
  - db/migrate/20180203174345_add_cause_to_error_fingerprints.rb
190
184
  - lib/ndr_error.rb
191
185
  - lib/ndr_error/backtrace_compression.rb
186
+ - lib/ndr_error/callbacks.rb
192
187
  - lib/ndr_error/engine.rb
193
188
  - lib/ndr_error/finder.rb
194
189
  - lib/ndr_error/fuzzing.rb