ndr_error 2.0.3 → 2.1.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: 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