airbrake 9.5.0 → 9.5.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
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4b5f9ef24127cd1a044a2959d8c90efd26e39db56e85ade6708340fc66009e36
|
|
4
|
+
data.tar.gz: 4e79c36be0244afaf4e9716b1d6d7b195cecf3b35bcd0ecfd95afaa426c02c69
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9f8a4e8a07779cee46cb1b7d308db3d97bd9f1008aa4082966dbe0fffc8a043cf78439a7ad8b762887369ce37f1d245b70f9df73a899a1ccfd1b0880854e60bf
|
|
7
|
+
data.tar.gz: cf80d00213697bf952a3fa6c20a0cdd936381ced3005dccdefed28d4de912f243390e8916f571a3fbc234766bdfd7b8656cdf143010c14b0d7ef5b06372e51a2
|
|
@@ -14,7 +14,7 @@ module Airbrake
|
|
|
14
14
|
|
|
15
15
|
notice[:context][:route] =
|
|
16
16
|
if action_dispatch_request?(request)
|
|
17
|
-
|
|
17
|
+
Airbrake::Rails::App.recognize_route(request)
|
|
18
18
|
elsif sinatra_request?(request)
|
|
19
19
|
sinatra_route(request)
|
|
20
20
|
end
|
|
@@ -22,19 +22,6 @@ module Airbrake
|
|
|
22
22
|
|
|
23
23
|
private
|
|
24
24
|
|
|
25
|
-
def rails_route(request)
|
|
26
|
-
::Rails.application.routes.router.recognize(request) do |route, _parameters|
|
|
27
|
-
# Rails can recognize multiple routes for the given request. For
|
|
28
|
-
# example, if we visit /users/2/edit, then Rails sees these routes:
|
|
29
|
-
# * "/users/:id/edit(.:format)"
|
|
30
|
-
# * "/"
|
|
31
|
-
#
|
|
32
|
-
# We return the first route as, what it seems, the most optimal
|
|
33
|
-
# approach.
|
|
34
|
-
return route.path.spec.to_s
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
25
|
def sinatra_route(request)
|
|
39
26
|
return unless (route = request.env['sinatra.route'])
|
|
40
27
|
route.split(' ').drop(1).join(' ')
|
|
@@ -23,24 +23,17 @@ module Airbrake
|
|
|
23
23
|
return unless (routes = Airbrake::Rack::RequestStore[:routes])
|
|
24
24
|
|
|
25
25
|
event = Airbrake::Rails::Event.new(*args)
|
|
26
|
-
route =
|
|
26
|
+
route = Airbrake::Rails::App.recognize_route(
|
|
27
|
+
Airbrake::Rack::RequestStore[:request]
|
|
28
|
+
)
|
|
27
29
|
return unless route
|
|
28
30
|
|
|
29
|
-
routes[route
|
|
31
|
+
routes[route] = {
|
|
30
32
|
method: event.method,
|
|
31
33
|
response_type: event.response_type,
|
|
32
34
|
groups: {}
|
|
33
35
|
}
|
|
34
36
|
end
|
|
35
|
-
|
|
36
|
-
private
|
|
37
|
-
|
|
38
|
-
def find_route(params)
|
|
39
|
-
@app.routes.find do |route|
|
|
40
|
-
route.controller == params[CONTROLLER_KEY] &&
|
|
41
|
-
route.action == params[ACTION_KEY]
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
37
|
end
|
|
45
38
|
end
|
|
46
39
|
end
|
data/lib/airbrake/rails/app.rb
CHANGED
|
@@ -7,6 +7,19 @@ module Airbrake
|
|
|
7
7
|
class App
|
|
8
8
|
Route = Struct.new(:path, :controller, :action)
|
|
9
9
|
|
|
10
|
+
def self.recognize_route(request)
|
|
11
|
+
::Rails.application.routes.router.recognize(request) do |route, _parameters|
|
|
12
|
+
# Rails can recognize multiple routes for the given request. For
|
|
13
|
+
# example, if we visit /users/2/edit, then Rails sees these routes:
|
|
14
|
+
# * "/users/:id/edit(.:format)"
|
|
15
|
+
# * "/"
|
|
16
|
+
#
|
|
17
|
+
# We return the first route as, what it seems, the most optimal
|
|
18
|
+
# approach.
|
|
19
|
+
return route.path.spec.to_s
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
10
23
|
def routes
|
|
11
24
|
@routes ||= app_routes.merge(engine_routes).flat_map do |(engine_name, routes)|
|
|
12
25
|
routes.map { |rails_route| build_route(engine_name, rails_route) }
|
|
@@ -96,8 +96,11 @@ module Airbrake
|
|
|
96
96
|
ActiveSupport.on_load(:active_record, run_once: true) do
|
|
97
97
|
# Reports exceptions occurring in some bugged ActiveRecord callbacks.
|
|
98
98
|
# Applicable only to the versions of Rails lower than 4.2.
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
if defined?(::Rails) &&
|
|
100
|
+
Gem::Version.new(::Rails.version) <= Gem::Version.new('4.2')
|
|
101
|
+
require 'airbrake/rails/active_record'
|
|
102
|
+
include Airbrake::Rails::ActiveRecord
|
|
103
|
+
end
|
|
101
104
|
|
|
102
105
|
if defined?(ActiveRecord) && Airbrake::Config.instance.query_stats
|
|
103
106
|
# Send SQL queries.
|
data/lib/airbrake/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: airbrake
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 9.5.
|
|
4
|
+
version: 9.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Airbrake Technologies, Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-11-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: airbrake-ruby
|
|
@@ -240,6 +240,20 @@ dependencies:
|
|
|
240
240
|
- - '='
|
|
241
241
|
- !ruby/object:Gem::Version
|
|
242
242
|
version: 5.11.3
|
|
243
|
+
- !ruby/object:Gem::Dependency
|
|
244
|
+
name: rack-cache
|
|
245
|
+
requirement: !ruby/object:Gem::Requirement
|
|
246
|
+
requirements:
|
|
247
|
+
- - '='
|
|
248
|
+
- !ruby/object:Gem::Version
|
|
249
|
+
version: 1.9.0
|
|
250
|
+
type: :development
|
|
251
|
+
prerelease: false
|
|
252
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
253
|
+
requirements:
|
|
254
|
+
- - '='
|
|
255
|
+
- !ruby/object:Gem::Version
|
|
256
|
+
version: 1.9.0
|
|
243
257
|
- !ruby/object:Gem::Dependency
|
|
244
258
|
name: sidekiq
|
|
245
259
|
requirement: !ruby/object:Gem::Requirement
|