sentry-rails 5.20.1 → 5.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +27 -23
  3. data/Rakefile +2 -0
  4. data/app/jobs/sentry/send_event_job.rb +2 -0
  5. data/bin/console +1 -0
  6. data/lib/generators/sentry_generator.rb +2 -0
  7. data/lib/sentry/rails/action_cable.rb +3 -1
  8. data/lib/sentry/rails/active_job.rb +4 -2
  9. data/lib/sentry/rails/background_worker.rb +2 -0
  10. data/lib/sentry/rails/backtrace_cleaner.rb +7 -7
  11. data/lib/sentry/rails/breadcrumb/active_support_logger.rb +2 -0
  12. data/lib/sentry/rails/breadcrumb/monotonic_active_support_logger.rb +2 -0
  13. data/lib/sentry/rails/capture_exceptions.rb +4 -2
  14. data/lib/sentry/rails/configuration.rb +4 -0
  15. data/lib/sentry/rails/controller_methods.rb +2 -0
  16. data/lib/sentry/rails/controller_transaction.rb +7 -3
  17. data/lib/sentry/rails/engine.rb +2 -0
  18. data/lib/sentry/rails/error_subscriber.rb +16 -1
  19. data/lib/sentry/rails/instrument_payload_cleanup_helper.rb +2 -0
  20. data/lib/sentry/rails/overrides/streaming_reporter.rb +2 -0
  21. data/lib/sentry/rails/railtie.rb +2 -0
  22. data/lib/sentry/rails/rescued_exception_interceptor.rb +12 -1
  23. data/lib/sentry/rails/tracing/abstract_subscriber.rb +2 -0
  24. data/lib/sentry/rails/tracing/action_controller_subscriber.rb +4 -2
  25. data/lib/sentry/rails/tracing/action_view_subscriber.rb +4 -2
  26. data/lib/sentry/rails/tracing/active_storage_subscriber.rb +4 -2
  27. data/lib/sentry/rails/tracing/active_support_subscriber.rb +63 -0
  28. data/lib/sentry/rails/tracing.rb +2 -0
  29. data/lib/sentry/rails/version.rb +3 -1
  30. data/lib/sentry/rails.rb +2 -0
  31. data/lib/sentry-rails.rb +2 -0
  32. data/sentry-rails.gemspec +3 -1
  33. metadata +11 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f224892c221e7a3250fb8b51f7484699ce5e927e4d4bb6e757c0bd5dc232c3d
4
- data.tar.gz: 5dd2b6914d7bdee52f83bfbcaf12d56b7044cd25fda0ef2d9ca736553254a306
3
+ metadata.gz: 8bedf276549ddb2522027c7c8de8cfcecae915f5760fef3057d47512533ead95
4
+ data.tar.gz: 37b3bfa86da3eea8f64d8d55142358ee7fcc3ad3e6f468751cd26eed81967e2a
5
5
  SHA512:
6
- metadata.gz: 536c8d9aa4c7e16c23452cd4e7ee675c5a7f1740567f0f99a806f5b2ae57721f4ffeced8e4430a43008bacc7921cfad827ae21efc99c5b901d1c6479975d1ab3
7
- data.tar.gz: d7e621b58c24bbee5b7559ab81b5b12230af0ca3a01947107e76fa0dc6f11d804e2a1673cdde660e9304e81b3674f2d3574dc31909b5e03a82e7560555907b5f
6
+ metadata.gz: 7d91f74cc7780297d352c28da1f631aaf6cc68f2121c23996e4e76e82f747f2ee10ffd95744a03926752fe2a46491c9600e2aef84552940d9a8a98638ffad7ff
7
+ data.tar.gz: d150984b74034e144df813124c21d9f21e41fab9ef66c176626d856e45f5ae2d610a2470ec65de22a5d44dfb25cf42484241ad071efdd7350ca7e5429baa403b
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
  git_source(:github) { |name| "https://github.com/#{name}.git" }
3
5
 
@@ -10,40 +12,38 @@ platform :jruby do
10
12
  gem "jdbc-sqlite3"
11
13
  end
12
14
 
15
+ ruby_version = Gem::Version.new(RUBY_VERSION)
16
+
13
17
  rails_version = ENV["RAILS_VERSION"]
14
- rails_version = "7.1.0" if rails_version.nil?
18
+ rails_version = "8.0.0" if rails_version.nil?
15
19
  rails_version = Gem::Version.new(rails_version)
16
20
 
17
- if rails_version < Gem::Version.new("6.0.0")
18
- gem "sqlite3", "~> 1.3.0", platform: :ruby
19
- else
20
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.7.0")
21
- gem "sqlite3", "~> 1.7.3", platform: :ruby
22
- else
23
- gem "sqlite3", "~> 1.6.9", platform: :ruby
24
- end
25
- end
21
+ gem "rails", "~> #{rails_version}"
26
22
 
27
- if rails_version >= Gem::Version.new("8.0.0.alpha")
28
- gem "rails", github: "rails/rails"
23
+ if rails_version >= Gem::Version.new("8.0.0")
29
24
  gem "rspec-rails"
25
+ gem "sqlite3", platform: :ruby
30
26
  elsif rails_version >= Gem::Version.new("7.1.0")
31
- gem "rails", "~> #{rails_version}"
32
27
  gem "rspec-rails"
28
+ gem "sqlite3", "~> 1.7.3", platform: :ruby
29
+ elsif rails_version >= Gem::Version.new("6.1.0")
30
+ gem "rspec-rails", "~> 4.0"
31
+
32
+ if ruby_version >= Gem::Version.new("2.7.0")
33
+ gem "sqlite3", "~> 1.7.3", platform: :ruby
34
+ else
35
+ gem "sqlite3", "~> 1.6.9", platform: :ruby
36
+ end
33
37
  else
34
38
  gem "rspec-rails", "~> 4.0"
35
- gem "rails", "~> #{rails_version}"
36
39
  gem "psych", "~> 3.0.0"
37
- end
38
-
39
- gem "mini_magick"
40
-
41
- gem "sprockets-rails"
42
-
43
- gem "sidekiq"
44
40
 
45
-
46
- ruby_version = Gem::Version.new(RUBY_VERSION)
41
+ if rails_version >= Gem::Version.new("6.0.0")
42
+ gem "sqlite3", "~> 1.4.0", platform: :ruby
43
+ else
44
+ gem "sqlite3", "~> 1.3.0", platform: :ruby
45
+ end
46
+ end
47
47
 
48
48
  if ruby_version < Gem::Version.new("2.5.0")
49
49
  # https://github.com/flavorjones/loofah/pull/267
@@ -51,6 +51,10 @@ if ruby_version < Gem::Version.new("2.5.0")
51
51
  gem "loofah", "2.20.0"
52
52
  end
53
53
 
54
+ gem "mini_magick"
55
+
56
+ gem "sprockets-rails"
57
+
54
58
  gem "benchmark-ips"
55
59
  gem "benchmark_driver"
56
60
  gem "benchmark-ipsa"
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
  require "rspec/core/rake_task"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  if defined?(ActiveJob)
2
4
  module Sentry
3
5
  parent_job =
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "bundler/setup"
4
5
  require "sentry/ruby"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/base"
2
4
 
3
5
  class SentryGenerator < ::Rails::Generators::Base
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module ActionCableExtensions
4
6
  class ErrorHandler
5
- OP_NAME = "websocket.server".freeze
7
+ OP_NAME = "websocket.server"
6
8
  SPAN_ORIGIN = "auto.http.rails.actioncable"
7
9
 
8
10
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module ActiveJobExtensions
@@ -16,8 +18,8 @@ module Sentry
16
18
  end
17
19
 
18
20
  class SentryReporter
19
- OP_NAME = "queue.active_job".freeze
20
- SPAN_ORIGIN = "auto.queue.active_job".freeze
21
+ OP_NAME = "queue.active_job"
22
+ SPAN_ORIGIN = "auto.queue.active_job"
21
23
 
22
24
  class << self
23
25
  def record(job, &block)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  class BackgroundWorker
3
5
  def _perform(&block)
@@ -1,21 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "active_support/backtrace_cleaner"
2
4
  require "active_support/core_ext/string/access"
3
5
 
4
6
  module Sentry
5
7
  module Rails
6
8
  class BacktraceCleaner < ActiveSupport::BacktraceCleaner
7
- APP_DIRS_PATTERN = /\A(?:\.\/)?(?:app|config|lib|test|\(\w*\))/.freeze
8
- RENDER_TEMPLATE_PATTERN = /:in `.*_\w+_{2,3}\d+_\d+'/.freeze
9
+ APP_DIRS_PATTERN = /\A(?:\.\/)?(?:app|config|lib|test|\(\w*\))/
10
+ RENDER_TEMPLATE_PATTERN = /:in `.*_\w+_{2,3}\d+_\d+'/
9
11
 
10
12
  def initialize
11
13
  super
12
- # we don't want any default silencers because they're too aggressive
14
+ # We don't want any default silencers because they're too aggressive
13
15
  remove_silencers!
16
+ # We don't want any default filters because Rails 7.2 starts shortening the paths. See #2472
17
+ remove_filters!
14
18
 
15
- @root = "#{Sentry.configuration.project_root}/"
16
- add_filter do |line|
17
- line.start_with?(@root) ? line.from(@root.size) : line
18
- end
19
19
  add_filter do |line|
20
20
  if line =~ RENDER_TEMPLATE_PATTERN
21
21
  line.sub(RENDER_TEMPLATE_PATTERN, "")
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module Breadcrumb
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/instrument_payload_cleanup_helper"
2
4
 
3
5
  module Sentry
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  class CaptureExceptions < Sentry::Rack::CaptureExceptions
4
6
  RAILS_7_1 = Gem::Version.new(::Rails.version) >= Gem::Version.new("7.1.0.alpha")
5
- SPAN_ORIGIN = "auto.http.rails".freeze
7
+ SPAN_ORIGIN = "auto.http.rails"
6
8
 
7
9
  def initialize(_)
8
10
  super
@@ -20,7 +22,7 @@ module Sentry
20
22
  end
21
23
 
22
24
  def transaction_op
23
- "http.server".freeze
25
+ "http.server"
24
26
  end
25
27
 
26
28
  def capture_exception(exception, env)
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/tracing/action_controller_subscriber"
2
4
  require "sentry/rails/tracing/action_view_subscriber"
3
5
  require "sentry/rails/tracing/active_record_subscriber"
4
6
  require "sentry/rails/tracing/active_storage_subscriber"
7
+ require "sentry/rails/tracing/active_support_subscriber"
5
8
 
6
9
  module Sentry
7
10
  class Configuration
@@ -162,6 +165,7 @@ module Sentry
162
165
  end
163
166
  @tracing_subscribers = Set.new([
164
167
  Sentry::Rails::Tracing::ActionViewSubscriber,
168
+ Sentry::Rails::Tracing::ActiveSupportSubscriber,
165
169
  Sentry::Rails::Tracing::ActiveRecordSubscriber,
166
170
  Sentry::Rails::Tracing::ActiveStorageSubscriber
167
171
  ])
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module ControllerMethods
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module ControllerTransaction
4
- SPAN_ORIGIN = "auto.view.rails".freeze
6
+ SPAN_ORIGIN = "auto.view.rails"
5
7
 
6
8
  def self.included(base)
7
9
  base.prepend_around_action(:sentry_around_action)
@@ -21,8 +23,10 @@ module Sentry
21
23
  child_span.set_http_status(response.status)
22
24
  child_span.set_data(:format, request.format)
23
25
  child_span.set_data(:method, request.method)
24
- child_span.set_data(:path, request.path)
25
- child_span.set_data(:params, request.params)
26
+
27
+ pii = Sentry.configuration.send_default_pii
28
+ child_span.set_data(:path, pii ? request.fullpath : request.filtered_path)
29
+ child_span.set_data(:params, pii ? request.params : request.filtered_parameters)
26
30
  end
27
31
 
28
32
  result
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  class Engine < ::Rails::Engine
3
5
  isolate_namespace Sentry
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  # This is not a user-facing class. You should use it with Rails 7.0's error reporter feature and its interfaces.
@@ -25,7 +27,20 @@ module Sentry
25
27
  hint.merge!(context.delete(:hint))
26
28
  end
27
29
 
28
- Sentry::Rails.capture_exception(error, level: severity, contexts: { "rails.error" => context }, tags: tags, hint: hint)
30
+ options = { level: severity, contexts: { "rails.error" => context }, tags: tags, hint: hint }
31
+
32
+ case error
33
+ when String
34
+ Sentry::Rails.capture_message(error, **options)
35
+ when Exception
36
+ Sentry::Rails.capture_exception(error, **options)
37
+ else
38
+ log_debug("Expected an Exception or a String, got: #{error.inspect}")
39
+ end
40
+ end
41
+
42
+ def log_debug(message)
43
+ Sentry.configuration.logger.debug(message)
29
44
  end
30
45
  end
31
46
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module InstrumentPayloadCleanupHelper
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module Overrides
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/capture_exceptions"
2
4
  require "sentry/rails/rescued_exception_interceptor"
3
5
  require "sentry/rails/backtrace_cleaner"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  class RescuedExceptionInterceptor
@@ -17,7 +19,16 @@ module Sentry
17
19
  end
18
20
 
19
21
  def report_rescued_exceptions?
20
- Sentry.configuration.rails.report_rescued_exceptions
22
+ # In rare edge cases, `Sentry.configuration` might be `nil` here.
23
+ # Hence, we use a safe navigation and fallback to a reasonable default
24
+ # of `true` in case the configuration couldn't be loaded.
25
+ # See https://github.com/getsentry/sentry-ruby/issues/2386
26
+ report_rescued_exceptions = Sentry.configuration&.rails&.report_rescued_exceptions
27
+ return report_rescued_exceptions unless report_rescued_exceptions.nil?
28
+
29
+ # `true` is the default for `report_rescued_exceptions`, as specified in
30
+ # `sentry-rails/lib/sentry/rails/configuration.rb`.
31
+ true
21
32
  end
22
33
  end
23
34
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module Tracing
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/tracing/abstract_subscriber"
2
4
  require "sentry/rails/instrument_payload_cleanup_helper"
3
5
 
@@ -8,8 +10,8 @@ module Sentry
8
10
  extend InstrumentPayloadCleanupHelper
9
11
 
10
12
  EVENT_NAMES = ["process_action.action_controller"].freeze
11
- OP_NAME = "view.process_action.action_controller".freeze
12
- SPAN_ORIGIN = "auto.view.rails".freeze
13
+ OP_NAME = "view.process_action.action_controller"
14
+ SPAN_ORIGIN = "auto.view.rails"
13
15
 
14
16
  def self.subscribe!
15
17
  Sentry.logger.warn <<~MSG
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/tracing/abstract_subscriber"
2
4
 
3
5
  module Sentry
@@ -5,8 +7,8 @@ module Sentry
5
7
  module Tracing
6
8
  class ActionViewSubscriber < AbstractSubscriber
7
9
  EVENT_NAMES = ["render_template.action_view"].freeze
8
- SPAN_PREFIX = "template.".freeze
9
- SPAN_ORIGIN = "auto.template.rails".freeze
10
+ SPAN_PREFIX = "template."
11
+ SPAN_ORIGIN = "auto.template.rails"
10
12
 
11
13
  def self.subscribe!
12
14
  subscribe_to_event(EVENT_NAMES) do |event_name, duration, payload|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/tracing/abstract_subscriber"
2
4
 
3
5
  module Sentry
@@ -19,12 +21,12 @@ module Sentry
19
21
  analyze.active_storage
20
22
  ].freeze
21
23
 
22
- SPAN_ORIGIN = "auto.file.rails".freeze
24
+ SPAN_ORIGIN = "auto.file.rails"
23
25
 
24
26
  def self.subscribe!
25
27
  subscribe_to_event(EVENT_NAMES) do |event_name, duration, payload|
26
28
  record_on_current_span(
27
- op: "file.#{event_name}".freeze,
29
+ op: "file.#{event_name}",
28
30
  origin: SPAN_ORIGIN,
29
31
  start_timestamp: payload[START_TIMESTAMP_NAME],
30
32
  description: payload[:service],
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "sentry/rails/tracing/abstract_subscriber"
4
+
5
+ module Sentry
6
+ module Rails
7
+ module Tracing
8
+ class ActiveSupportSubscriber < AbstractSubscriber
9
+ READ_EVENT_NAMES = %w[
10
+ cache_read.active_support
11
+ ].freeze
12
+
13
+ WRITE_EVENT_NAMES = %w[
14
+ cache_write.active_support
15
+ cache_increment.active_support
16
+ cache_decrement.active_support
17
+ ].freeze
18
+
19
+ REMOVE_EVENT_NAMES = %w[
20
+ cache_delete.active_support
21
+ ].freeze
22
+
23
+ FLUSH_EVENT_NAMES = %w[
24
+ cache_prune.active_support
25
+ ].freeze
26
+
27
+ EVENT_NAMES = READ_EVENT_NAMES + WRITE_EVENT_NAMES + REMOVE_EVENT_NAMES + FLUSH_EVENT_NAMES
28
+
29
+ SPAN_ORIGIN = "auto.cache.rails"
30
+
31
+ def self.subscribe!
32
+ subscribe_to_event(EVENT_NAMES) do |event_name, duration, payload|
33
+ record_on_current_span(
34
+ op: operation_name(event_name),
35
+ origin: SPAN_ORIGIN,
36
+ start_timestamp: payload[START_TIMESTAMP_NAME],
37
+ description: payload[:store],
38
+ duration: duration
39
+ ) do |span|
40
+ span.set_data("cache.key", [*payload[:key]].select { |key| Utils::EncodingHelper.valid_utf_8?(key) })
41
+ span.set_data("cache.hit", payload[:hit] == true) # Handle nil case
42
+ end
43
+ end
44
+ end
45
+
46
+ def self.operation_name(event_name)
47
+ case
48
+ when READ_EVENT_NAMES.include?(event_name)
49
+ "cache.get"
50
+ when WRITE_EVENT_NAMES.include?(event_name)
51
+ "cache.put"
52
+ when REMOVE_EVENT_NAMES.include?(event_name)
53
+ "cache.remove"
54
+ when FLUSH_EVENT_NAMES.include?(event_name)
55
+ "cache.flush"
56
+ else
57
+ "other"
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
5
  module Tracing
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Rails
3
- VERSION = "5.20.1"
5
+ VERSION = "5.22.0"
4
6
  end
5
7
  end
data/lib/sentry/rails.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails"
2
4
  require "sentry-ruby"
3
5
  require "sentry/integrable"
data/lib/sentry-rails.rb CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sentry/rails/version"
2
4
  require "sentry/rails"
data/sentry-rails.gemspec CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative "lib/sentry/rails/version"
2
4
 
3
5
  Gem::Specification.new do |spec|
@@ -29,5 +31,5 @@ Gem::Specification.new do |spec|
29
31
  spec.require_paths = ["lib"]
30
32
 
31
33
  spec.add_dependency "railties", ">= 5.0"
32
- spec.add_dependency "sentry-ruby", "~> 5.20.1"
34
+ spec.add_dependency "sentry-ruby", "~> 5.22.0"
33
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.20.1
4
+ version: 5.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sentry Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-27 00:00:00.000000000 Z
11
+ date: 2024-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 5.20.1
33
+ version: 5.22.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 5.20.1
40
+ version: 5.22.0
41
41
  description: A gem that provides Rails integration for the Sentry error logger
42
42
  email: accounts@sentry.io
43
43
  executables: []
@@ -82,17 +82,18 @@ files:
82
82
  - lib/sentry/rails/tracing/action_view_subscriber.rb
83
83
  - lib/sentry/rails/tracing/active_record_subscriber.rb
84
84
  - lib/sentry/rails/tracing/active_storage_subscriber.rb
85
+ - lib/sentry/rails/tracing/active_support_subscriber.rb
85
86
  - lib/sentry/rails/version.rb
86
87
  - sentry-rails.gemspec
87
- homepage: https://github.com/getsentry/sentry-ruby/tree/5.20.1/sentry-rails
88
+ homepage: https://github.com/getsentry/sentry-ruby/tree/5.22.0/sentry-rails
88
89
  licenses:
89
90
  - MIT
90
91
  metadata:
91
- homepage_uri: https://github.com/getsentry/sentry-ruby/tree/5.20.1/sentry-rails
92
- source_code_uri: https://github.com/getsentry/sentry-ruby/tree/5.20.1/sentry-rails
93
- changelog_uri: https://github.com/getsentry/sentry-ruby/blob/5.20.1/CHANGELOG.md
92
+ homepage_uri: https://github.com/getsentry/sentry-ruby/tree/5.22.0/sentry-rails
93
+ source_code_uri: https://github.com/getsentry/sentry-ruby/tree/5.22.0/sentry-rails
94
+ changelog_uri: https://github.com/getsentry/sentry-ruby/blob/5.22.0/CHANGELOG.md
94
95
  bug_tracker_uri: https://github.com/getsentry/sentry-ruby/issues
95
- documentation_uri: http://www.rubydoc.info/gems/sentry-rails/5.20.1
96
+ documentation_uri: http://www.rubydoc.info/gems/sentry-rails/5.22.0
96
97
  post_install_message:
97
98
  rdoc_options: []
98
99
  require_paths:
@@ -108,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
109
  - !ruby/object:Gem::Version
109
110
  version: '0'
110
111
  requirements: []
111
- rubygems_version: 3.5.16
112
+ rubygems_version: 3.5.22
112
113
  signing_key:
113
114
  specification_version: 4
114
115
  summary: A gem that provides Rails integration for the Sentry error logger