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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ca01898083de92ab17019a9f2f312f4536bcf144
4
- data.tar.gz: 8593a587b1fd43619dfebe0002205c78ea1018cf
2
+ SHA256:
3
+ metadata.gz: 36773a1b7fa7f3920aa3cf37d44048d1e0c5318aaac34149bd2a7d5bf746dc2f
4
+ data.tar.gz: 8baf632d5a3bd99e49b67d16f4e5d777d0ea75b721e506324b5de26b782f301c
5
5
  SHA512:
6
- metadata.gz: b4b6b12acc1e1472a63d0c14df1254a6789a83acf9894ea60a319d71a1a19b6c9926de3ac7db4b3cd875ac51a450729e968b11e1dedaedf689703c39b2d34400
7
- data.tar.gz: 1151c024cde520d1d6ada13e679e7f12bacfebe292db259a7c4f31a45b489c4829933c922d22cefbcbc413aa8979ef16d228d0ab51aa80c6235003f36bda5704
6
+ metadata.gz: 67307d58e06a199e3272602e42d44367abed2743e083427c9758be47641505c07ccf70f8934aa4a41a7ac373b0c07f8c24e9797aa6c732663e79b2914849200d
7
+ data.tar.gz: edcaf1d99c8024e2d6556020ee5032d5309f90474da6de1bf42ba2a27f2c8664ecc2d22f86f4c0f7b145039bd095837bdeab10933da5d76d2a5decba1f91c6e2
@@ -1,3 +1,5 @@
1
+ require 'ndr_ui'
2
+
1
3
  module NdrError
2
4
  # Global controller logic
3
5
  class ApplicationController < ActionController::Base
@@ -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: [:show, :edit, :update, :destroy]
5
- before_action :check_permissions, only: [:edit, :update, :destroy]
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]
@@ -9,9 +9,7 @@ module NdrError
9
9
  include NdrError::UuidBuilder
10
10
 
11
11
  # Migrate away from host-specific column name:
12
- unless :user_id == NdrError.user_column
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
- user_column = NdrError.user_column.to_s
36
- %w(error_class description).tap do |text_columns|
37
- # Allow searching of `user_column` if it is textual:
38
- if :string == columns_hash[user_column].try(:type)
39
- text_columns << user_column
40
- else
41
- fail SecurityError, "Column '#{user_column}' not found!"
42
- end
43
- end
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 = [:parameters, :request_parameters, :query_parameters]
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
@@ -1,6 +1,6 @@
1
1
  NdrError::Engine.routes.draw do
2
2
  resources :errors,
3
- only: [:index, :show, :edit, :update, :destroy],
3
+ only: %i[index show edit update destroy],
4
4
  controller: 'errors',
5
5
  as: 'error_fingerprints'
6
6
  end
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) { Hash.new }
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
@@ -48,7 +48,7 @@ module NdrError
48
48
  data = Base64.decode64(string)
49
49
  begin
50
50
  string = Zlib::Inflate.inflate(data)
51
- rescue
51
+ rescue StandardError
52
52
  Rails.logger.warn('NdrError: failed to inflate backtrace!')
53
53
  end
54
54
  end
@@ -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
@@ -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 = [:user_id, :user_roles, :svn_revision].freeze
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
- fail "Mass-assigning #{key} is forbidden!" unless ANCILLARY_ATTRS_WHITELIST.include?(key)
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)
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # Contains the version of NdrError. Sourced by the gemspec.
3
4
  module NdrError
4
- VERSION = '2.0.0'.freeze
5
+ VERSION = '2.0.1'.freeze
5
6
  end
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.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-06-05 00:00:00.000000000 Z
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: sqlite3
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: pry
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: test-unit
90
+ name: mocha
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - "~>"
93
+ - - ">="
94
94
  - !ruby/object:Gem::Version
95
- version: '3.0'
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: '3.0'
102
+ version: '0'
103
103
  - !ruby/object:Gem::Dependency
104
- name: mocha
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: simplecov
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.0'
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.0'
147
+ version: '3.1'
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: 3.1.3
145
151
  - !ruby/object:Gem::Dependency
146
- name: database_cleaner
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.5.2.3
220
+ rubygems_version: 2.7.6
215
221
  signing_key:
216
222
  specification_version: 4
217
223
  summary: Rails exception logging