sentry-raven 2.13.0 → 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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/.craft.yml +19 -0
  3. data/.scripts/bump-version.rb +5 -0
  4. data/{changelog.md → CHANGELOG.md} +182 -1
  5. data/Gemfile +24 -25
  6. data/Makefile +3 -0
  7. data/README.md +44 -16
  8. data/lib/raven/backtrace.rb +9 -5
  9. data/lib/raven/base.rb +7 -2
  10. data/lib/raven/breadcrumbs/{activesupport.rb → active_support_logger.rb} +9 -3
  11. data/lib/raven/breadcrumbs/logger.rb +2 -92
  12. data/lib/raven/breadcrumbs/sentry_logger.rb +73 -0
  13. data/lib/raven/breadcrumbs.rb +1 -1
  14. data/lib/raven/cli.rb +10 -21
  15. data/lib/raven/client.rb +9 -4
  16. data/lib/raven/configuration.rb +95 -10
  17. data/lib/raven/context.rb +13 -8
  18. data/lib/raven/core_ext/object/deep_dup.rb +57 -0
  19. data/lib/raven/core_ext/object/duplicable.rb +153 -0
  20. data/lib/raven/event.rb +31 -15
  21. data/lib/raven/helpers/deprecation_helper.rb +17 -0
  22. data/lib/raven/instance.rb +21 -5
  23. data/lib/raven/integrations/delayed_job.rb +15 -15
  24. data/lib/raven/integrations/rack-timeout.rb +7 -4
  25. data/lib/raven/integrations/rack.rb +9 -7
  26. data/lib/raven/integrations/rails/active_job.rb +6 -4
  27. data/lib/raven/integrations/rails/backtrace_cleaner.rb +29 -0
  28. data/lib/raven/integrations/rails/overrides/debug_exceptions_catcher.rb +2 -2
  29. data/lib/raven/integrations/rails.rb +13 -3
  30. data/lib/raven/integrations/sidekiq/cleanup_middleware.rb +13 -0
  31. data/lib/raven/integrations/sidekiq/error_handler.rb +38 -0
  32. data/lib/raven/integrations/sidekiq.rb +4 -78
  33. data/lib/raven/interface.rb +2 -2
  34. data/lib/raven/interfaces/stack_trace.rb +1 -1
  35. data/lib/raven/linecache.rb +5 -2
  36. data/lib/raven/logger.rb +3 -2
  37. data/lib/raven/processor/cookies.rb +16 -6
  38. data/lib/raven/processor/post_data.rb +2 -0
  39. data/lib/raven/processor/removecircularreferences.rb +3 -1
  40. data/lib/raven/processor/sanitizedata.rb +65 -17
  41. data/lib/raven/processor/utf8conversion.rb +2 -0
  42. data/lib/raven/transports/http.rb +7 -8
  43. data/lib/raven/transports.rb +4 -0
  44. data/lib/raven/utils/context_filter.rb +42 -0
  45. data/lib/raven/utils/exception_cause_chain.rb +1 -0
  46. data/lib/raven/utils/real_ip.rb +1 -1
  47. data/lib/raven/utils/request_id.rb +16 -0
  48. data/lib/raven/version.rb +2 -2
  49. data/lib/sentry-raven-without-integrations.rb +6 -1
  50. data/lib/sentry_raven_without_integrations.rb +1 -0
  51. data/sentry-raven.gemspec +9 -2
  52. metadata +23 -17
  53. data/.gitignore +0 -13
  54. data/.gitmodules +0 -0
  55. data/.rspec +0 -1
  56. data/.rubocop.yml +0 -74
  57. data/.travis.yml +0 -47
@@ -11,11 +11,13 @@ module Raven
11
11
 
12
12
  def process_if_symbol_keys(data)
13
13
  return unless data[:request][:method] == "POST"
14
+
14
15
  data[:request][:data] = STRING_MASK
15
16
  end
16
17
 
17
18
  def process_if_string_keys(data)
18
19
  return unless data["request"]["method"] == "POST"
20
+
19
21
  data["request"]["data"] = STRING_MASK
20
22
  end
21
23
  end
@@ -1,7 +1,9 @@
1
1
  module Raven
2
2
  class Processor::RemoveCircularReferences < Processor
3
+ ELISION_STRING = "(...)".freeze
3
4
  def process(value, visited = [])
4
- return "(...)" if visited.include?(value.__id__)
5
+ return ELISION_STRING if visited.include?(value.__id__)
6
+
5
7
  visited << value.__id__ if value.is_a?(Array) || value.is_a?(Hash)
6
8
 
7
9
  case value
@@ -1,10 +1,11 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'json'
3
4
 
4
5
  module Raven
5
6
  class Processor::SanitizeData < Processor
6
7
  DEFAULT_FIELDS = %w(authorization password passwd secret ssn social(.*)?sec).freeze
7
- CREDIT_CARD_RE = /\b(?:3[47]\d|(?:4\d|5[1-5]|65)\d{2}|6011)\d{12}\b/
8
+ CREDIT_CARD_RE = /\b(?:3[47]\d|(?:4\d|5[1-5]|65)\d{2}|6011)\d{12}\b/.freeze
8
9
  QUERY_STRING = ['query_string', :query_string].freeze
9
10
  JSON_STARTS_WITH = ["[", "{"].freeze
10
11
 
@@ -20,22 +21,13 @@ module Raven
20
21
  def process(value, key = nil)
21
22
  case value
22
23
  when Hash
23
- !value.frozen? ? value.merge!(value) { |k, v| process v, k } : value.merge(value) { |k, v| process v, k }
24
+ sanitize_hash_value(key, value)
24
25
  when Array
25
- !value.frozen? ? value.map! { |v| process v, key } : value.map { |v| process v, key }
26
+ sanitize_array_value(key, value)
26
27
  when Integer
27
28
  matches_regexes?(key, value.to_s) ? INT_MASK : value
28
29
  when String
29
- if value =~ fields_re && (json = parse_json_or_nil(value))
30
- # if this string is actually a json obj, convert and sanitize
31
- process(json).to_json
32
- elsif matches_regexes?(key, value)
33
- STRING_MASK
34
- elsif QUERY_STRING.include?(key)
35
- sanitize_query_string(value)
36
- else
37
- value
38
- end
30
+ sanitize_string_value(key, value)
39
31
  else
40
32
  value
41
33
  end
@@ -49,6 +41,39 @@ module Raven
49
41
  @utf8_processor ||= Processor::UTF8Conversion.new
50
42
  end
51
43
 
44
+ def sanitize_hash_value(key, value)
45
+ if key =~ sensitive_fields
46
+ STRING_MASK
47
+ elsif value.frozen?
48
+ value.merge(value) { |k, v| process v, k }
49
+ else
50
+ value.merge!(value) { |k, v| process v, k }
51
+ end
52
+ end
53
+
54
+ def sanitize_array_value(key, value)
55
+ if value.frozen?
56
+ value.map { |v| process v, key }
57
+ else
58
+ value.map! { |v| process v, key }
59
+ end
60
+ end
61
+
62
+ def sanitize_string_value(key, value)
63
+ if value =~ sensitive_fields && (json = parse_json_or_nil(value))
64
+ # if this string is actually a json obj, convert and sanitize
65
+ process(json).to_json
66
+ elsif matches_regexes?(key, value)
67
+ STRING_MASK
68
+ elsif QUERY_STRING.include?(key)
69
+ sanitize_query_string(value)
70
+ elsif value =~ sensitive_fields
71
+ sanitize_sensitive_string_content(value)
72
+ else
73
+ value
74
+ end
75
+ end
76
+
52
77
  def sanitize_query_string(query_string)
53
78
  query_hash = CGI.parse(query_string)
54
79
  sanitized = utf8_processor.process(query_hash)
@@ -56,16 +81,38 @@ module Raven
56
81
  URI.encode_www_form(processed_query_hash)
57
82
  end
58
83
 
84
+ # this scrubs some sensitive info from the string content. for example:
85
+ #
86
+ # ```
87
+ # unexpected token at '{
88
+ # "role": "admin","password": "Abc@123","foo": "bar"
89
+ # }'
90
+ # ```
91
+ #
92
+ # will become
93
+ #
94
+ # ```
95
+ # unexpected token at '{
96
+ # "role": "admin","password": *******,"foo": "bar"
97
+ # }'
98
+ # ```
99
+ #
100
+ # it's particularly useful in hash or param-parsing related errors
101
+ def sanitize_sensitive_string_content(value)
102
+ value.gsub(/(#{sensitive_fields}['":]\s?(:|=>)?\s?)(".*?"|'.*?')/, '\1' + STRING_MASK)
103
+ end
104
+
59
105
  def matches_regexes?(k, v)
60
106
  (sanitize_credit_cards && v =~ CREDIT_CARD_RE) ||
61
- k =~ fields_re
107
+ k =~ sensitive_fields
62
108
  end
63
109
 
64
- def fields_re
65
- return @fields_re if instance_variable_defined?(:@fields_re)
110
+ def sensitive_fields
111
+ return @sensitive_fields if instance_variable_defined?(:@sensitive_fields)
112
+
66
113
  fields = DEFAULT_FIELDS | sanitize_fields
67
114
  fields -= sanitize_fields_excluded
68
- @fields_re = /#{fields.map do |f|
115
+ @sensitive_fields = /#{fields.map do |f|
69
116
  use_boundary?(f) ? "\\b#{f}\\b" : f
70
117
  end.join("|")}/i
71
118
  end
@@ -80,6 +127,7 @@ module Raven
80
127
 
81
128
  def parse_json_or_nil(string)
82
129
  return unless string.start_with?(*JSON_STARTS_WITH)
130
+
83
131
  JSON.parse(string)
84
132
  rescue JSON::ParserError, NoMethodError
85
133
  nil
@@ -14,6 +14,7 @@ module Raven
14
14
  !value.frozen? ? value.map! { |v| process v } : value.map { |v| process v }
15
15
  when Exception
16
16
  return value if value.message.valid_encoding?
17
+
17
18
  clean_exc = value.class.new(remove_invalid_bytes(value.message))
18
19
  clean_exc.set_backtrace(value.backtrace)
19
20
  clean_exc
@@ -27,6 +28,7 @@ module Raven
27
28
  value.force_encoding(Encoding::UTF_8)
28
29
  end
29
30
  return value if value.valid_encoding?
31
+
30
32
  remove_invalid_bytes(value)
31
33
  else
32
34
  value
@@ -1,7 +1,5 @@
1
1
  require 'faraday'
2
2
 
3
- require 'raven/transports'
4
-
5
3
  module Raven
6
4
  module Transports
7
5
  class HTTP < Transport
@@ -15,7 +13,8 @@ module Raven
15
13
 
16
14
  def send_event(auth_header, data, options = {})
17
15
  unless configuration.sending_allowed?
18
- logger.debug("Event not sent: #{configuration.error_messages}")
16
+ configuration.logger.debug("Event not sent: #{configuration.error_messages}")
17
+ return
19
18
  end
20
19
 
21
20
  project_id = configuration[:project_id]
@@ -26,10 +25,10 @@ module Raven
26
25
  req.headers['X-Sentry-Auth'] = auth_header
27
26
  req.body = data
28
27
  end
29
- rescue Faraday::Error => ex
30
- error_info = ex.message
31
- if ex.response && ex.response[:headers]['x-sentry-error']
32
- error_info += " Error in headers is: #{ex.response[:headers]['x-sentry-error']}"
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']}"
33
32
  end
34
33
  raise Raven::Error, error_info
35
34
  end
@@ -42,7 +41,7 @@ module Raven
42
41
  proxy = configuration.public_send(:proxy)
43
42
 
44
43
  Faraday.new(configuration.server, :ssl => ssl_configuration, :proxy => proxy) do |builder|
45
- configuration.faraday_builder.call(builder) if configuration.faraday_builder
44
+ configuration.faraday_builder&.call(builder)
46
45
  builder.response :raise_error
47
46
  builder.options.merge! faraday_opts
48
47
  builder.headers[:user_agent] = "sentry-ruby/#{Raven::VERSION}"
@@ -13,3 +13,7 @@ module Raven
13
13
  end
14
14
  end
15
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,6 +7,7 @@ module Raven
7
7
  while exception.cause
8
8
  exception = exception.cause
9
9
  break if exceptions.any? { |e| e.object_id == exception.object_id }
10
+
10
11
  exceptions << exception
11
12
  end
12
13
  exceptions
@@ -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.13.0" # 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'
data/sentry-raven.gemspec CHANGED
@@ -11,11 +11,18 @@ Gem::Specification.new do |gem|
11
11
 
12
12
  gem.version = Raven::VERSION
13
13
  gem.platform = Gem::Platform::RUBY
14
- gem.required_ruby_version = '>= 1.9.0'
14
+ gem.required_ruby_version = '>= 2.3'
15
15
  gem.extra_rdoc_files = ["README.md", "LICENSE"]
16
16
  gem.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples)'`.split("\n")
17
17
  gem.bindir = "exe"
18
18
  gem.executables = "raven"
19
19
 
20
- gem.add_dependency "faraday", ">= 0.7.6", "< 1.0"
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
21
28
  end
metadata CHANGED
@@ -1,23 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry-raven
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.13.0
4
+ version: 3.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sentry Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-17 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
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 0.7.6
20
- - - "<"
21
18
  - !ruby/object:Gem::Version
22
19
  version: '1.0'
23
20
  type: :runtime
@@ -25,9 +22,6 @@ dependencies:
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 0.7.6
30
- - - "<"
31
25
  - !ruby/object:Gem::Version
32
26
  version: '1.0'
33
27
  description: A gem that provides a client interface for the Sentry error logger
@@ -39,34 +33,37 @@ extra_rdoc_files:
39
33
  - README.md
40
34
  - LICENSE
41
35
  files:
42
- - ".gitignore"
43
- - ".gitmodules"
44
- - ".rspec"
45
- - ".rubocop.yml"
46
- - ".travis.yml"
36
+ - ".craft.yml"
37
+ - ".scripts/bump-version.rb"
38
+ - CHANGELOG.md
47
39
  - Gemfile
48
40
  - LICENSE
41
+ - Makefile
49
42
  - README.md
50
43
  - Rakefile
51
- - changelog.md
52
44
  - exe/raven
53
45
  - lib/raven.rb
54
46
  - lib/raven/backtrace.rb
55
47
  - lib/raven/base.rb
56
48
  - lib/raven/breadcrumbs.rb
57
- - lib/raven/breadcrumbs/activesupport.rb
49
+ - lib/raven/breadcrumbs/active_support_logger.rb
58
50
  - lib/raven/breadcrumbs/logger.rb
51
+ - lib/raven/breadcrumbs/sentry_logger.rb
59
52
  - lib/raven/cli.rb
60
53
  - lib/raven/client.rb
61
54
  - lib/raven/configuration.rb
62
55
  - lib/raven/context.rb
56
+ - lib/raven/core_ext/object/deep_dup.rb
57
+ - lib/raven/core_ext/object/duplicable.rb
63
58
  - lib/raven/event.rb
59
+ - lib/raven/helpers/deprecation_helper.rb
64
60
  - lib/raven/instance.rb
65
61
  - lib/raven/integrations/delayed_job.rb
66
62
  - lib/raven/integrations/rack-timeout.rb
67
63
  - lib/raven/integrations/rack.rb
68
64
  - lib/raven/integrations/rails.rb
69
65
  - lib/raven/integrations/rails/active_job.rb
66
+ - lib/raven/integrations/rails/backtrace_cleaner.rb
70
67
  - lib/raven/integrations/rails/controller_methods.rb
71
68
  - lib/raven/integrations/rails/controller_transaction.rb
72
69
  - lib/raven/integrations/rails/overrides/debug_exceptions_catcher.rb
@@ -74,6 +71,8 @@ files:
74
71
  - lib/raven/integrations/railties.rb
75
72
  - lib/raven/integrations/rake.rb
76
73
  - lib/raven/integrations/sidekiq.rb
74
+ - lib/raven/integrations/sidekiq/cleanup_middleware.rb
75
+ - lib/raven/integrations/sidekiq/error_handler.rb
77
76
  - lib/raven/integrations/tasks.rb
78
77
  - lib/raven/interface.rb
79
78
  - lib/raven/interfaces/exception.rb
@@ -95,18 +94,25 @@ files:
95
94
  - lib/raven/transports/dummy.rb
96
95
  - lib/raven/transports/http.rb
97
96
  - lib/raven/transports/stdout.rb
97
+ - lib/raven/utils/context_filter.rb
98
98
  - lib/raven/utils/deep_merge.rb
99
99
  - lib/raven/utils/exception_cause_chain.rb
100
100
  - lib/raven/utils/real_ip.rb
101
+ - lib/raven/utils/request_id.rb
101
102
  - lib/raven/version.rb
102
103
  - lib/sentry-raven-without-integrations.rb
103
104
  - lib/sentry-raven.rb
105
+ - lib/sentry_raven_without_integrations.rb
104
106
  - sentry-raven.gemspec
105
107
  homepage: https://github.com/getsentry/raven-ruby
106
108
  licenses:
107
109
  - Apache-2.0
108
110
  metadata: {}
109
- 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
+
110
116
  rdoc_options: []
111
117
  require_paths:
112
118
  - lib
@@ -114,7 +120,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
120
  requirements:
115
121
  - - ">="
116
122
  - !ruby/object:Gem::Version
117
- version: 1.9.0
123
+ version: '2.3'
118
124
  required_rubygems_version: !ruby/object:Gem::Requirement
119
125
  requirements:
120
126
  - - ">="
data/.gitignore DELETED
@@ -1,13 +0,0 @@
1
- coverage
2
- pkg
3
- ruby/
4
- log/
5
- .bundle
6
- *.gem
7
- gemfiles/*.lock
8
- Gemfile.lock
9
- .coveralls.yml
10
- .ruby-version
11
- .ruby-gemset
12
- .idea
13
- *.rdb
data/.gitmodules DELETED
File without changes
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --colour
data/.rubocop.yml DELETED
@@ -1,74 +0,0 @@
1
- AllCops:
2
- Include:
3
- - 'lib/**/*.rb'
4
- - 'spec/**/*.rb'
5
- Exclude:
6
- - 'examples/**/*'
7
- - 'vendor/**/*'
8
-
9
- Metrics/ClassLength:
10
- Max: 300
11
- CountComments: false
12
-
13
- Metrics/AbcSize:
14
- Max: 40
15
-
16
- Metrics/CyclomaticComplexity:
17
- Max: 12
18
-
19
- Metrics/PerceivedComplexity:
20
- Max: 11
21
-
22
- Metrics/LineLength:
23
- Max: 155
24
-
25
- Metrics/MethodLength:
26
- Max: 30
27
-
28
- Style/SignalException:
29
- Enabled: false
30
-
31
- Performance/Casecmp:
32
- Enabled: false
33
-
34
- Style/ClassAndModuleChildren:
35
- Enabled: false
36
-
37
- Style/ParallelAssignment:
38
- Enabled: false
39
-
40
- Style/Documentation:
41
- Enabled: false
42
-
43
- Style/RescueModifier:
44
- Enabled: false
45
-
46
- Style/StringLiterals:
47
- Enabled: false
48
-
49
- Style/CaseEquality:
50
- Enabled: false
51
-
52
- Style/DoubleNegation:
53
- Enabled: false
54
-
55
- Style/FileName:
56
- Exclude:
57
- - 'lib/sentry-raven-without-integrations.rb'
58
- - 'lib/sentry-raven.rb'
59
-
60
- Style/NumericLiterals:
61
- Exclude:
62
- - 'spec/raven/processors/sanitizedata_processor_spec.rb'
63
-
64
- Style/HashSyntax:
65
- EnforcedStyle: hash_rockets
66
-
67
- Lint/RescueException:
68
- Exclude:
69
- - 'lib/raven/base.rb'
70
- - 'lib/raven/instance.rb'
71
- - 'lib/raven/integrations/delayed_job.rb'
72
- - 'lib/raven/integrations/rack.rb'
73
- - 'lib/raven/integrations/sidekiq.rb'
74
- - 'spec/raven/event_spec.rb'
data/.travis.yml DELETED
@@ -1,47 +0,0 @@
1
- language: ruby
2
- dist: trusty
3
- group: beta
4
- cache: bundler
5
-
6
- services:
7
- - redis-server
8
-
9
- branches:
10
- only: [master]
11
-
12
- rvm:
13
- - 2.2.10
14
- - 2.3.8
15
- - 2.4.9
16
- - 2.5.7
17
- - 2.6.5
18
-
19
- env:
20
- - RAILS_VERSION=4
21
- - RAILS_VERSION=5
22
- - RAILS_VERSION=0
23
-
24
- addons:
25
- apt:
26
- packages:
27
- - haveged
28
-
29
- before_install:
30
- - service haveged start
31
- # Pin bundler version due to https://github.com/rubygems/rubygems/issues/2055
32
- - gem install bundler -v 1.16.0
33
-
34
- matrix:
35
- include:
36
- - rvm: 1.9
37
- env: RAILS_VERSION=4
38
- - rvm: jruby-1.7.27
39
- env: JRUBY_OPTS="--dev" RAILS_VERSION=4
40
- - rvm: jruby-9.2.9.0
41
- env: JRUBY_OPTS="--dev -J-Djruby.launch.inproc=true -J-Xmx1024M" RAILS_VERSION=4
42
- - rvm: jruby-9.2.9.0
43
- env: JRUBY_OPTS="--dev -J-Djruby.launch.inproc=true -J-Xmx1024M" RAILS_VERSION=5
44
- - rvm: ruby-head
45
- env: RAILS_VERSION=0
46
- allow_failures:
47
- - rvm: ruby-head