sentry-raven 2.1.3 → 3.1.2

Sign up to get free protection for your applications and to get access to all the features.
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