ndr_error 2.0.0 → 2.0.1
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 +5 -5
- data/app/controllers/ndr_error/application_controller.rb +2 -0
- data/app/controllers/ndr_error/errors_controller.rb +3 -4
- data/app/models/ndr_error/log.rb +11 -13
- data/config/routes.rb +1 -1
- data/lib/ndr_error.rb +1 -1
- data/lib/ndr_error/backtrace_compression.rb +1 -1
- data/lib/ndr_error/engine.rb +2 -2
- data/lib/ndr_error/logging.rb +2 -2
- data/lib/ndr_error/version.rb +2 -1
- metadata +25 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 36773a1b7fa7f3920aa3cf37d44048d1e0c5318aaac34149bd2a7d5bf746dc2f
|
4
|
+
data.tar.gz: 8baf632d5a3bd99e49b67d16f4e5d777d0ea75b721e506324b5de26b782f301c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67307d58e06a199e3272602e42d44367abed2743e083427c9758be47641505c07ccf70f8934aa4a41a7ac373b0c07f8c24e9797aa6c732663e79b2914849200d
|
7
|
+
data.tar.gz: edcaf1d99c8024e2d6556020ee5032d5309f90474da6de1bf42ba2a27f2c8664ecc2d22f86f4c0f7b145039bd095837bdeab10933da5d76d2a5decba1f91c6e2
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module NdrError
|
2
2
|
# Controller for viewing and managing errors
|
3
3
|
class ErrorsController < ApplicationController
|
4
|
-
before_action :find_fingerprint, only: [
|
5
|
-
before_action :check_permissions, only: [
|
4
|
+
before_action :find_fingerprint, only: %i[show edit update destroy]
|
5
|
+
before_action :check_permissions, only: %i[edit update destroy]
|
6
6
|
|
7
7
|
def index
|
8
8
|
if NdrError::Log.perform_cleanup!
|
@@ -25,8 +25,7 @@ module NdrError
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
def edit
|
29
|
-
end
|
28
|
+
def edit; end
|
30
29
|
|
31
30
|
def update
|
32
31
|
@fingerprint.ticket_url = params[:error_fingerprint][:ticket_url]
|
data/app/models/ndr_error/log.rb
CHANGED
@@ -9,9 +9,7 @@ module NdrError
|
|
9
9
|
include NdrError::UuidBuilder
|
10
10
|
|
11
11
|
# Migrate away from host-specific column name:
|
12
|
-
|
13
|
-
alias_attribute :user_id, NdrError.user_column
|
14
|
-
end
|
12
|
+
alias_attribute :user_id, NdrError.user_column unless NdrError.user_column == :user_id
|
15
13
|
|
16
14
|
self.primary_key = 'error_logid'
|
17
15
|
|
@@ -32,15 +30,15 @@ module NdrError
|
|
32
30
|
before_create :set_uuid_primary_key
|
33
31
|
|
34
32
|
def self.text_columns
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
33
|
+
whitelist = %w[error_class description]
|
34
|
+
column_name = NdrError.user_column.to_s
|
35
|
+
user_column = columns_hash[column_name]
|
36
|
+
|
37
|
+
raise SecurityError, 'User column missing!' unless user_column
|
38
|
+
|
39
|
+
# allow the user column to be searched if it is textual:
|
40
|
+
whitelist << column_name if user_column.type == :string
|
41
|
+
whitelist
|
44
42
|
end
|
45
43
|
|
46
44
|
def self.filter_by_keywords(keywords)
|
@@ -173,7 +171,7 @@ module NdrError
|
|
173
171
|
filter = ActionDispatch::Http::ParameterFilter.new(NdrError.filtered_parameters)
|
174
172
|
|
175
173
|
if request
|
176
|
-
sources = [
|
174
|
+
sources = %i[parameters request_parameters query_parameters]
|
177
175
|
sources.inject(params) { |a, e| a.merge! request.send(e) }
|
178
176
|
end
|
179
177
|
|
data/config/routes.rb
CHANGED
data/lib/ndr_error.rb
CHANGED
@@ -41,7 +41,7 @@ module NdrError
|
|
41
41
|
# NdrError::Middleware::PublicExceptions middleware is used, it is called
|
42
42
|
# with the Rack request object.
|
43
43
|
mattr_accessor :log_parameters
|
44
|
-
self.log_parameters = ->(_request) {
|
44
|
+
self.log_parameters = ->(_request) { {} }
|
45
45
|
|
46
46
|
# Request parameters that we should not be capturing as part of the error context.
|
47
47
|
mattr_accessor :filtered_parameters
|
data/lib/ndr_error/engine.rb
CHANGED
@@ -12,11 +12,11 @@ module NdrError
|
|
12
12
|
|
13
13
|
# Hook into host app's asset pipeline
|
14
14
|
initializer 'ndr_error.assets.precompile' do |app|
|
15
|
-
app.config.assets.precompile += %w
|
15
|
+
app.config.assets.precompile += %w[
|
16
16
|
ndr_error/ndr_error.css
|
17
17
|
ndr_error/ndr_error.js
|
18
18
|
ndr_error/bootstrap/glyphicons-halflings-regular*
|
19
|
-
|
19
|
+
]
|
20
20
|
end
|
21
21
|
|
22
22
|
# Extract context filtering from the host application
|
data/lib/ndr_error/logging.rb
CHANGED
@@ -2,7 +2,7 @@ module NdrError
|
|
2
2
|
# Module to contain helpers for logging
|
3
3
|
module Logging
|
4
4
|
# Which attributes can be populated when manually logging an exception:
|
5
|
-
ANCILLARY_ATTRS_WHITELIST = [
|
5
|
+
ANCILLARY_ATTRS_WHITELIST = %i[user_id user_roles svn_revision].freeze
|
6
6
|
|
7
7
|
# Log the given `exception`.
|
8
8
|
def log(exception, ancillary_data, request_object)
|
@@ -34,7 +34,7 @@ module NdrError
|
|
34
34
|
def initialize_log(ancillary_data)
|
35
35
|
Log.new.tap do |log|
|
36
36
|
ancillary_data.symbolize_keys.each do |key, value|
|
37
|
-
|
37
|
+
raise "Mass-assigning #{key} is forbidden!" unless ANCILLARY_ATTRS_WHITELIST.include?(key)
|
38
38
|
|
39
39
|
if ActiveRecord::Base.respond_to?(:protected_attributes)
|
40
40
|
log.assign_attributes({ key => value }, without_protection: true)
|
data/lib/ndr_error/version.rb
CHANGED
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.
|
4
|
+
version: 2.0.1
|
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: 2018-
|
11
|
+
date: 2018-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -59,7 +59,7 @@ dependencies:
|
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
62
|
+
name: pry
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - ">="
|
@@ -73,7 +73,7 @@ dependencies:
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
76
|
+
name: sqlite3
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
79
|
- - ">="
|
@@ -87,35 +87,35 @@ dependencies:
|
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
|
-
name:
|
90
|
+
name: mocha
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- - "
|
93
|
+
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
95
|
+
version: '0'
|
96
96
|
type: :development
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- - "
|
100
|
+
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
102
|
+
version: '0'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
|
-
name:
|
104
|
+
name: test-unit
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
|
-
- - "
|
107
|
+
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
109
|
+
version: '3.0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- - "
|
114
|
+
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '0'
|
116
|
+
version: '3.0'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
|
-
name:
|
118
|
+
name: database_cleaner
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
121
|
- - ">="
|
@@ -134,16 +134,22 @@ dependencies:
|
|
134
134
|
requirements:
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '3.
|
137
|
+
version: '3.1'
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: 3.1.3
|
138
141
|
type: :development
|
139
142
|
prerelease: false
|
140
143
|
version_requirements: !ruby/object:Gem::Requirement
|
141
144
|
requirements:
|
142
145
|
- - "~>"
|
143
146
|
- !ruby/object:Gem::Version
|
144
|
-
version: '3.
|
147
|
+
version: '3.1'
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: 3.1.3
|
145
151
|
- !ruby/object:Gem::Dependency
|
146
|
-
name:
|
152
|
+
name: simplecov
|
147
153
|
requirement: !ruby/object:Gem::Requirement
|
148
154
|
requirements:
|
149
155
|
- - ">="
|
@@ -211,7 +217,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
211
217
|
version: '0'
|
212
218
|
requirements: []
|
213
219
|
rubyforge_project:
|
214
|
-
rubygems_version: 2.
|
220
|
+
rubygems_version: 2.7.6
|
215
221
|
signing_key:
|
216
222
|
specification_version: 4
|
217
223
|
summary: Rails exception logging
|