sentry-raven 2.1.3 → 3.1.2

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.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/.craft.yml +19 -0
  3. data/.scripts/bump-version.rb +5 -0
  4. data/CHANGELOG.md +703 -0
  5. data/Gemfile +37 -0
  6. data/Makefile +3 -0
  7. data/README.md +116 -18
  8. data/Rakefile +30 -0
  9. data/exe/raven +32 -0
  10. data/lib/raven/backtrace.rb +16 -6
  11. data/lib/raven/base.rb +17 -4
  12. data/lib/raven/breadcrumbs/{activesupport.rb → active_support_logger.rb} +9 -3
  13. data/lib/raven/breadcrumbs/logger.rb +2 -92
  14. data/lib/raven/breadcrumbs/sentry_logger.rb +73 -0
  15. data/lib/raven/breadcrumbs.rb +3 -1
  16. data/lib/raven/cli.rb +31 -43
  17. data/lib/raven/client.rb +39 -17
  18. data/lib/raven/configuration.rb +277 -37
  19. data/lib/raven/context.rb +17 -11
  20. data/lib/raven/core_ext/object/deep_dup.rb +57 -0
  21. data/lib/raven/core_ext/object/duplicable.rb +153 -0
  22. data/lib/raven/event.rb +172 -233
  23. data/lib/raven/helpers/deprecation_helper.rb +17 -0
  24. data/lib/raven/instance.rb +51 -25
  25. data/lib/raven/integrations/delayed_job.rb +18 -18
  26. data/lib/raven/integrations/rack-timeout.rb +11 -5
  27. data/lib/raven/integrations/rack.rb +36 -19
  28. data/lib/raven/integrations/rails/active_job.rb +52 -20
  29. data/lib/raven/integrations/rails/backtrace_cleaner.rb +29 -0
  30. data/lib/raven/integrations/rails/controller_transaction.rb +13 -0
  31. data/lib/raven/integrations/rails/overrides/debug_exceptions_catcher.rb +2 -2
  32. data/lib/raven/integrations/rails.rb +24 -8
  33. data/lib/raven/integrations/rake.rb +6 -1
  34. data/lib/raven/integrations/sidekiq/cleanup_middleware.rb +13 -0
  35. data/lib/raven/integrations/sidekiq/error_handler.rb +38 -0
  36. data/lib/raven/integrations/sidekiq.rb +6 -57
  37. data/lib/raven/interface.rb +2 -2
  38. data/lib/raven/interfaces/exception.rb +0 -2
  39. data/lib/raven/interfaces/http.rb +0 -2
  40. data/lib/raven/interfaces/message.rb +1 -1
  41. data/lib/raven/interfaces/single_exception.rb +0 -2
  42. data/lib/raven/interfaces/stack_trace.rb +19 -27
  43. data/lib/raven/linecache.rb +34 -17
  44. data/lib/raven/logger.rb +11 -18
  45. data/lib/raven/processor/cookies.rb +27 -7
  46. data/lib/raven/processor/http_headers.rb +18 -5
  47. data/lib/raven/processor/post_data.rb +16 -3
  48. data/lib/raven/processor/removecircularreferences.rb +12 -8
  49. data/lib/raven/processor/removestacktrace.rb +17 -6
  50. data/lib/raven/processor/sanitizedata.rb +88 -29
  51. data/lib/raven/processor/utf8conversion.rb +39 -14
  52. data/lib/raven/processor.rb +1 -1
  53. data/lib/raven/transports/http.rb +29 -21
  54. data/lib/raven/transports/stdout.rb +20 -0
  55. data/lib/raven/transports.rb +4 -8
  56. data/lib/raven/utils/context_filter.rb +42 -0
  57. data/lib/raven/utils/deep_merge.rb +6 -12
  58. data/lib/raven/utils/exception_cause_chain.rb +20 -0
  59. data/lib/raven/utils/real_ip.rb +1 -1
  60. data/lib/raven/utils/request_id.rb +16 -0
  61. data/lib/raven/version.rb +2 -2
  62. data/lib/sentry-raven-without-integrations.rb +6 -1
  63. data/lib/sentry_raven_without_integrations.rb +1 -0
  64. data/sentry-raven.gemspec +28 -0
  65. metadata +37 -103
  66. data/lib/raven/error.rb +0 -4
@@ -1,28 +1,53 @@
1
1
  module Raven
2
2
  class Processor::UTF8Conversion < Processor
3
+ # Slightly misnamed - actually just removes any bytes with invalid encoding
4
+ # Previously, our JSON backend required UTF-8. Since we now use the built-in
5
+ # JSON, we can use any encoding, but it must be valid anyway so we can do
6
+ # things like call #match and #slice on strings
7
+ REPLACE = "".freeze
8
+
3
9
  def process(value)
4
- if value.is_a? Array
5
- value.map { |v| process v }
6
- elsif value.is_a? Hash
7
- value.merge(value) { |_, v| process v }
8
- elsif value.is_a?(Exception) && !value.message.valid_encoding?
9
- clean_exc = value.class.new(clean_invalid_utf8_bytes(value.message))
10
+ case value
11
+ when Hash
12
+ !value.frozen? ? value.merge!(value) { |_, v| process v } : value.merge(value) { |_, v| process v }
13
+ when Array
14
+ !value.frozen? ? value.map! { |v| process v } : value.map { |v| process v }
15
+ when Exception
16
+ return value if value.message.valid_encoding?
17
+
18
+ clean_exc = value.class.new(remove_invalid_bytes(value.message))
10
19
  clean_exc.set_backtrace(value.backtrace)
11
20
  clean_exc
21
+ when String
22
+ # Encoding::BINARY / Encoding::ASCII_8BIT is a special binary encoding.
23
+ # valid_encoding? will always return true because it contains all codepoints,
24
+ # so instead we check if it only contains actual ASCII codepoints, and if
25
+ # not we assume it's actually just UTF8 and scrub accordingly.
26
+ if value.encoding == Encoding::BINARY && !value.ascii_only?
27
+ value = value.dup
28
+ value.force_encoding(Encoding::UTF_8)
29
+ end
30
+ return value if value.valid_encoding?
31
+
32
+ remove_invalid_bytes(value)
12
33
  else
13
- clean_invalid_utf8_bytes(value)
34
+ value
14
35
  end
15
36
  end
16
37
 
17
38
  private
18
39
 
19
- def clean_invalid_utf8_bytes(obj)
20
- if obj.respond_to?(:to_utf8)
21
- obj.to_utf8
22
- elsif obj.respond_to?(:encoding) && obj.is_a?(String)
23
- obj.encode('UTF-16', :invalid => :replace, :undef => :replace, :replace => '').encode('UTF-8')
24
- else
25
- obj
40
+ # Stolen from RSpec
41
+ # https://github.com/rspec/rspec-support/blob/f0af3fd74a94ff7bb700f6ba06dbdc67bba17fbf/lib/rspec/support/encoded_string.rb#L120-L139
42
+ if String.method_defined?(:scrub) # 2.1+
43
+ def remove_invalid_bytes(string)
44
+ string.scrub(REPLACE)
45
+ end
46
+ else
47
+ def remove_invalid_bytes(string)
48
+ string.chars.map do |char|
49
+ char.valid_encoding? ? char : REPLACE
50
+ end.join
26
51
  end
27
52
  end
28
53
  end
@@ -4,7 +4,7 @@ module Raven
4
4
  INT_MASK = 0
5
5
  REGEX_SPECIAL_CHARACTERS = %w(. $ ^ { [ ( | ) * + ?).freeze
6
6
 
7
- def initialize(client)
7
+ def initialize(client = nil)
8
8
  @client = client
9
9
  end
10
10
 
@@ -1,8 +1,5 @@
1
1
  require 'faraday'
2
2
 
3
- require 'raven/transports'
4
- require 'raven/error'
5
-
6
3
  module Raven
7
4
  module Transports
8
5
  class HTTP < Transport
@@ -15,6 +12,11 @@ module Raven
15
12
  end
16
13
 
17
14
  def send_event(auth_header, data, options = {})
15
+ unless configuration.sending_allowed?
16
+ configuration.logger.debug("Event not sent: #{configuration.error_messages}")
17
+ return
18
+ end
19
+
18
20
  project_id = configuration[:project_id]
19
21
  path = configuration[:path] + "/"
20
22
 
@@ -23,36 +25,42 @@ module Raven
23
25
  req.headers['X-Sentry-Auth'] = auth_header
24
26
  req.body = data
25
27
  end
26
- rescue Faraday::ClientError => ex
27
- raise Raven::Error, ex.message
28
+ rescue Faraday::Error => e
29
+ error_info = e.message
30
+ if e.response && e.response[:headers]['x-sentry-error']
31
+ error_info += " Error in headers is: #{e.response[:headers]['x-sentry-error']}"
32
+ end
33
+ raise Raven::Error, error_info
28
34
  end
29
35
 
30
36
  private
31
37
 
32
38
  def set_conn
33
- verify_configuration
34
-
35
- Raven.logger.debug "Raven HTTP Transport connecting to #{configuration.server}"
39
+ configuration.logger.debug "Raven HTTP Transport connecting to #{configuration.server}"
36
40
 
37
- ssl_configuration = configuration.ssl || {}
38
- ssl_configuration[:verify] = configuration.ssl_verification
39
- ssl_configuration[:ca_file] = configuration.ssl_ca_file
41
+ proxy = configuration.public_send(:proxy)
40
42
 
41
- conn = Faraday.new(
42
- :url => configuration[:server],
43
- :ssl => ssl_configuration
44
- ) do |builder|
43
+ Faraday.new(configuration.server, :ssl => ssl_configuration, :proxy => proxy) do |builder|
44
+ configuration.faraday_builder&.call(builder)
45
45
  builder.response :raise_error
46
+ builder.options.merge! faraday_opts
47
+ builder.headers[:user_agent] = "sentry-ruby/#{Raven::VERSION}"
46
48
  builder.adapter(*adapter)
47
49
  end
50
+ end
48
51
 
49
- conn.headers[:user_agent] = "sentry-ruby/#{Raven::VERSION}"
50
-
51
- conn.options[:proxy] = configuration.proxy if configuration.proxy
52
- conn.options[:timeout] = configuration.timeout if configuration.timeout
53
- conn.options[:open_timeout] = configuration.open_timeout if configuration.open_timeout
52
+ # TODO: deprecate and replace where possible w/Faraday Builder
53
+ def faraday_opts
54
+ [:timeout, :open_timeout].each_with_object({}) do |opt, memo|
55
+ memo[opt] = configuration.public_send(opt) if configuration.public_send(opt)
56
+ end
57
+ end
54
58
 
55
- conn
59
+ def ssl_configuration
60
+ (configuration.ssl || {}).merge(
61
+ :verify => configuration.ssl_verification,
62
+ :ca_file => configuration.ssl_ca_file
63
+ )
56
64
  end
57
65
  end
58
66
  end
@@ -0,0 +1,20 @@
1
+ module Raven
2
+ module Transports
3
+ class Stdout < Transport
4
+ attr_accessor :events
5
+
6
+ def initialize(*)
7
+ super
8
+ end
9
+
10
+ def send_event(_auth_header, data, _options = {})
11
+ unless configuration.sending_allowed?
12
+ logger.debug("Event not sent: #{configuration.error_messages}")
13
+ end
14
+
15
+ $stdout.puts data
16
+ $stdout.flush
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,5 +1,3 @@
1
- require 'raven/error'
2
-
3
1
  module Raven
4
2
  module Transports
5
3
  class Transport
@@ -12,12 +10,10 @@ module Raven
12
10
  def send_event # (auth_header, data, options = {})
13
11
  raise NotImplementedError, 'Abstract method not implemented'
14
12
  end
15
-
16
- protected
17
-
18
- def verify_configuration
19
- configuration.verify!
20
- end
21
13
  end
22
14
  end
23
15
  end
16
+
17
+ require "raven/transports/dummy"
18
+ require "raven/transports/http"
19
+ require "raven/transports/stdout"
@@ -0,0 +1,42 @@
1
+ module Raven
2
+ module Utils
3
+ module ContextFilter
4
+ class << self
5
+ ACTIVEJOB_RESERVED_PREFIX_REGEX = /^_aj_/.freeze
6
+ HAS_GLOBALID = const_defined?('GlobalID')
7
+
8
+ # Once an ActiveJob is queued, ActiveRecord references get serialized into
9
+ # some internal reserved keys, such as _aj_globalid.
10
+ #
11
+ # The problem is, if this job in turn gets queued back into ActiveJob with
12
+ # these magic reserved keys, ActiveJob will throw up and error. We want to
13
+ # capture these and mutate the keys so we can sanely report it.
14
+ def filter_context(context)
15
+ case context
16
+ when Array
17
+ context.map { |arg| filter_context(arg) }
18
+ when Hash
19
+ Hash[context.map { |key, value| filter_context_hash(key, value) }]
20
+ else
21
+ format_globalid(context)
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def filter_context_hash(key, value)
28
+ key = key.to_s.sub(ACTIVEJOB_RESERVED_PREFIX_REGEX, "") if key.match(ACTIVEJOB_RESERVED_PREFIX_REGEX)
29
+ [key, filter_context(value)]
30
+ end
31
+
32
+ def format_globalid(context)
33
+ if HAS_GLOBALID && context.is_a?(GlobalID)
34
+ context.to_s
35
+ else
36
+ context
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -7,21 +7,15 @@ module Raven
7
7
  end
8
8
 
9
9
  def self.deep_merge!(hash, other_hash, &block)
10
- other_hash.each_pair do |current_key, other_value|
11
- this_value = hash[current_key]
12
-
13
- hash[current_key] = if this_value.is_a?(Hash) && other_value.is_a?(Hash)
14
- this_value.deep_merge(other_value, &block)
10
+ hash.merge!(other_hash) do |key, this_val, other_val|
11
+ if this_val.is_a?(Hash) && other_val.is_a?(Hash)
12
+ deep_merge(this_val, other_val, &block)
13
+ elsif block_given?
14
+ block.call(key, this_val, other_val)
15
15
  else
16
- if block_given? && key?(current_key)
17
- block.call(current_key, this_value, other_value)
18
- else
19
- other_value
20
- end
16
+ other_val
21
17
  end
22
18
  end
23
-
24
- hash
25
19
  end
26
20
  end
27
21
  end
@@ -0,0 +1,20 @@
1
+ module Raven
2
+ module Utils
3
+ module ExceptionCauseChain
4
+ def self.exception_to_array(exception)
5
+ if exception.respond_to?(:cause) && exception.cause
6
+ exceptions = [exception]
7
+ while exception.cause
8
+ exception = exception.cause
9
+ break if exceptions.any? { |e| e.object_id == exception.object_id }
10
+
11
+ exceptions << exception
12
+ end
13
+ exceptions
14
+ else
15
+ [exception]
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -13,7 +13,7 @@ module Raven
13
13
  "fc00::/7", # private IPv6 range fc00::/7
14
14
  "10.0.0.0/8", # private IPv4 range 10.x.x.x
15
15
  "172.16.0.0/12", # private IPv4 range 172.16.0.0 .. 172.31.255.255
16
- "192.168.0.0/16", # private IPv4 range 192.168.x.x
16
+ "192.168.0.0/16" # private IPv4 range 192.168.x.x
17
17
  ].map { |proxy| IPAddr.new(proxy) }
18
18
 
19
19
  attr_accessor :ip, :ip_addresses
@@ -0,0 +1,16 @@
1
+ module Raven
2
+ module Utils
3
+ module RequestId
4
+ REQUEST_ID_HEADERS = %w(action_dispatch.request_id HTTP_X_REQUEST_ID).freeze
5
+
6
+ # Request ID based on ActionDispatch::RequestId
7
+ def self.read_from(env_hash)
8
+ REQUEST_ID_HEADERS.each do |key|
9
+ request_id = env_hash[key]
10
+ return request_id if request_id
11
+ end
12
+ nil
13
+ end
14
+ end
15
+ end
16
+ end
data/lib/raven/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Raven
3
- # Freezing this constant breaks in 1.9.x
4
- VERSION = "2.1.3" # rubocop:disable Style/MutableConstant
4
+ VERSION = "3.1.2"
5
5
  end
@@ -1 +1,6 @@
1
- require 'raven/base'
1
+ require "raven/helpers/deprecation_helper"
2
+
3
+ filename = "sentry_raven_without_integrations"
4
+ DeprecationHelper.deprecate_dasherized_filename(filename)
5
+
6
+ require filename
@@ -0,0 +1 @@
1
+ require 'raven/base'
@@ -0,0 +1,28 @@
1
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
2
+ require 'raven/version'
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.name = "sentry-raven"
6
+ gem.authors = ["Sentry Team"]
7
+ gem.description = gem.summary = "A gem that provides a client interface for the Sentry error logger"
8
+ gem.email = "accounts@sentry.io"
9
+ gem.license = 'Apache-2.0'
10
+ gem.homepage = "https://github.com/getsentry/raven-ruby"
11
+
12
+ gem.version = Raven::VERSION
13
+ gem.platform = Gem::Platform::RUBY
14
+ gem.required_ruby_version = '>= 2.3'
15
+ gem.extra_rdoc_files = ["README.md", "LICENSE"]
16
+ gem.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples)'`.split("\n")
17
+ gem.bindir = "exe"
18
+ gem.executables = "raven"
19
+
20
+ gem.add_dependency "faraday", ">= 1.0"
21
+
22
+ gem.post_install_message = <<~EOS
23
+ `sentry-raven` is deprecated! Please migrate to `sentry-ruby`
24
+
25
+ See https://docs.sentry.io/platforms/ruby/migration for the migration guide.
26
+
27
+ EOS
28
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry-raven
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 3.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sentry Team
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-16 00:00:00.000000000 Z
11
+ date: 2021-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,138 +16,63 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.7.6
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 0.10.x
19
+ version: '1.0'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: 0.7.6
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: 0.10.x
33
- - !ruby/object:Gem::Dependency
34
- name: rake
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: '0'
40
- type: :development
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: '0'
47
- - !ruby/object:Gem::Dependency
48
- name: rubocop
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: 0.41.1
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: 0.41.1
61
- - !ruby/object:Gem::Dependency
62
- name: rspec
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
- - !ruby/object:Gem::Dependency
76
- name: rspec-rails
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: '0'
82
- type: :development
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
- - !ruby/object:Gem::Dependency
90
- name: timecop
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- type: :development
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- - !ruby/object:Gem::Dependency
104
- name: test-unit
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
26
+ version: '1.0'
117
27
  description: A gem that provides a client interface for the Sentry error logger
118
- email: getsentry@googlegroups.com
119
- executables: []
28
+ email: accounts@sentry.io
29
+ executables:
30
+ - raven
120
31
  extensions: []
121
32
  extra_rdoc_files:
122
33
  - README.md
123
34
  - LICENSE
124
35
  files:
36
+ - ".craft.yml"
37
+ - ".scripts/bump-version.rb"
38
+ - CHANGELOG.md
39
+ - Gemfile
125
40
  - LICENSE
41
+ - Makefile
126
42
  - README.md
43
+ - Rakefile
44
+ - exe/raven
127
45
  - lib/raven.rb
128
46
  - lib/raven/backtrace.rb
129
47
  - lib/raven/base.rb
130
48
  - lib/raven/breadcrumbs.rb
131
- - lib/raven/breadcrumbs/activesupport.rb
49
+ - lib/raven/breadcrumbs/active_support_logger.rb
132
50
  - lib/raven/breadcrumbs/logger.rb
51
+ - lib/raven/breadcrumbs/sentry_logger.rb
133
52
  - lib/raven/cli.rb
134
53
  - lib/raven/client.rb
135
54
  - lib/raven/configuration.rb
136
55
  - lib/raven/context.rb
137
- - lib/raven/error.rb
56
+ - lib/raven/core_ext/object/deep_dup.rb
57
+ - lib/raven/core_ext/object/duplicable.rb
138
58
  - lib/raven/event.rb
59
+ - lib/raven/helpers/deprecation_helper.rb
139
60
  - lib/raven/instance.rb
140
61
  - lib/raven/integrations/delayed_job.rb
141
62
  - lib/raven/integrations/rack-timeout.rb
142
63
  - lib/raven/integrations/rack.rb
143
64
  - lib/raven/integrations/rails.rb
144
65
  - lib/raven/integrations/rails/active_job.rb
66
+ - lib/raven/integrations/rails/backtrace_cleaner.rb
145
67
  - lib/raven/integrations/rails/controller_methods.rb
68
+ - lib/raven/integrations/rails/controller_transaction.rb
146
69
  - lib/raven/integrations/rails/overrides/debug_exceptions_catcher.rb
147
70
  - lib/raven/integrations/rails/overrides/streaming_reporter.rb
148
71
  - lib/raven/integrations/railties.rb
149
72
  - lib/raven/integrations/rake.rb
150
73
  - lib/raven/integrations/sidekiq.rb
74
+ - lib/raven/integrations/sidekiq/cleanup_middleware.rb
75
+ - lib/raven/integrations/sidekiq/error_handler.rb
151
76
  - lib/raven/integrations/tasks.rb
152
77
  - lib/raven/interface.rb
153
78
  - lib/raven/interfaces/exception.rb
@@ -168,16 +93,26 @@ files:
168
93
  - lib/raven/transports.rb
169
94
  - lib/raven/transports/dummy.rb
170
95
  - lib/raven/transports/http.rb
96
+ - lib/raven/transports/stdout.rb
97
+ - lib/raven/utils/context_filter.rb
171
98
  - lib/raven/utils/deep_merge.rb
99
+ - lib/raven/utils/exception_cause_chain.rb
172
100
  - lib/raven/utils/real_ip.rb
101
+ - lib/raven/utils/request_id.rb
173
102
  - lib/raven/version.rb
174
103
  - lib/sentry-raven-without-integrations.rb
175
104
  - lib/sentry-raven.rb
105
+ - lib/sentry_raven_without_integrations.rb
106
+ - sentry-raven.gemspec
176
107
  homepage: https://github.com/getsentry/raven-ruby
177
108
  licenses:
178
109
  - Apache-2.0
179
110
  metadata: {}
180
- post_install_message:
111
+ post_install_message: |+
112
+ `sentry-raven` is deprecated! Please migrate to `sentry-ruby`
113
+
114
+ See https://docs.sentry.io/platforms/ruby/migration for the migration guide.
115
+
181
116
  rdoc_options: []
182
117
  require_paths:
183
118
  - lib
@@ -185,15 +120,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
185
120
  requirements:
186
121
  - - ">="
187
122
  - !ruby/object:Gem::Version
188
- version: 1.9.0
123
+ version: '2.3'
189
124
  required_rubygems_version: !ruby/object:Gem::Requirement
190
125
  requirements:
191
126
  - - ">="
192
127
  - !ruby/object:Gem::Version
193
128
  version: '0'
194
129
  requirements: []
195
- rubyforge_project:
196
- rubygems_version: 2.6.8
130
+ rubygems_version: 3.0.3
197
131
  signing_key:
198
132
  specification_version: 4
199
133
  summary: A gem that provides a client interface for the Sentry error logger
data/lib/raven/error.rb DELETED
@@ -1,4 +0,0 @@
1
- module Raven
2
- class Error < StandardError
3
- end
4
- end