ndr_error 2.0.0 → 2.0.1

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
- 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