sentry-sanitizer 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f83f2a0c9bb759f6f43b1b25f3219e403123d8bdade87f5aa8f6838269e432e7
4
- data.tar.gz: 9230c77fb3a9a178d457068e2ca03f5e8491f0778ff1cb8d76e8c2a612b6c409
3
+ metadata.gz: 17e8a5a1dcd6a12efae12b9f326fe9c1df140f02428782a6f6ecb6c102bda038
4
+ data.tar.gz: 342037b0b4f1bd0e45e4ae5b9fe3698914275320bc45162bcd69d03236a3b8cf
5
5
  SHA512:
6
- metadata.gz: b7ec44c8b25b101d9fb01ec0472e1e6338db2c9d5385599f91341c911c9754951005d574d86a868fb13a4120c2a517e91d2334e2b9e93e4253adff9d0d77babf
7
- data.tar.gz: 52e91220a7cc128f9c02e20889187cf2c2fe23bd7061b2e01e359f12b9da175fdc2a8218891676513b8ccc280da4afc0c3bf39e95dfabfecfaf1416b422fea67
6
+ metadata.gz: 39b42429f3b7ee5783a29ebf796220167370d4038a48bd19c1a6809d23aace59dddf3c2498e4777edccf0badb1784f0250196e413347cea77817923fa79b5ed2
7
+ data.tar.gz: cb70a216f92b749b68acdb158277277d4d9d0e0b19966b1aff8275c5456794025291b3730b64c91e6b31df89d5f2af077b3aa057d84ac67bdbb89168cf1555f9
@@ -1,8 +1,6 @@
1
- name: CI
1
+ name: CI linux
2
2
  on:
3
3
  push:
4
- branches:
5
- - master
6
4
  pull_request:
7
5
 
8
6
  jobs:
@@ -16,6 +14,7 @@ jobs:
16
14
  - { ruby_version: 2.7 }
17
15
  - { ruby_version: 3.0 }
18
16
  - { ruby_version: 3.1 }
17
+ - { ruby_version: 3.2 }
19
18
  - { ruby_version: jruby }
20
19
  steps:
21
20
  - uses: actions/checkout@v1
@@ -31,6 +30,9 @@ jobs:
31
30
  bundle install --jobs 4 --retry 3 --no-cache
32
31
  bundle exec rspec
33
32
 
34
- - uses: codecov/codecov-action@v1
33
+ - uses: coverallsapp/github-action@v2
34
+ env:
35
+ COVERALLS_SERVICE_NUMBER: ${{ github.sha }}
35
36
  with:
36
- token: ${{ secrets.CODECOV_TOKEN }}
37
+ flag-name: ruby-${{ join(matrix.*, '-') }}
38
+ parallel: true
@@ -0,0 +1,39 @@
1
+ name: CI macos
2
+ on:
3
+ push:
4
+ pull_request:
5
+
6
+ jobs:
7
+ rspec:
8
+ name: Unit tests
9
+ runs-on: macos-13
10
+ strategy:
11
+ matrix:
12
+ include:
13
+ - { ruby_version: 2.5 }
14
+ - { ruby_version: 2.7 }
15
+ - { ruby_version: 3.0 }
16
+ - { ruby_version: 3.1 }
17
+ - { ruby_version: 3.2 }
18
+ - { ruby_version: jruby }
19
+ steps:
20
+ - uses: actions/checkout@v1
21
+
22
+ - name: Set up Ruby ${{ matrix.ruby_version }}
23
+ uses: ruby/setup-ruby@v1
24
+ with:
25
+ bundler: 2
26
+ ruby-version: ${{ matrix.ruby_version }}
27
+
28
+ - name: Run specs
29
+ run: |
30
+ bundle install --jobs 4 --retry 3 --no-cache
31
+ bundle exec rspec
32
+
33
+ - uses: coverallsapp/github-action@v2
34
+ env:
35
+ COVERALLS_SERVICE_NUMBER: ${{ github.sha }}
36
+ with:
37
+ flag-name: ruby-${{ join(matrix.*, '-') }}
38
+ parallel: true
39
+
@@ -0,0 +1,38 @@
1
+ name: Coveralls
2
+ on:
3
+ push:
4
+ pull_request:
5
+
6
+ jobs:
7
+ coveralls:
8
+ name: Coveralls Report
9
+ runs-on: ubuntu-latest
10
+ if: ${{ always() }}
11
+ steps:
12
+ - uses: actions/checkout@v3
13
+
14
+ - name: Wait on tests (PR)
15
+ uses: lewagon/wait-on-check-action@v1.3.1
16
+ if: github.event_name == 'pull_request'
17
+ with:
18
+ ref: ${{ github.event.pull_request.head.sha }}
19
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
20
+ wait-interval: 10 # seconds
21
+ running-workflow-name: Coveralls Report
22
+ allowed-conclusions: success,skipped,cancelled,failure
23
+
24
+ - name: Wait on tests
25
+ uses: lewagon/wait-on-check-action@v1.3.1
26
+ with:
27
+ ref: ${{ github.sha }}
28
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
29
+ wait-interval: 10 # seconds
30
+ running-workflow-name: Coveralls Report
31
+ allowed-conclusions: success,skipped,cancelled,failure
32
+
33
+ - uses: coverallsapp/github-action@v2
34
+ env:
35
+ COVERALLS_SERVICE_NUMBER: ${{ github.sha }}
36
+ with:
37
+ carryforward: "ruby-2.5,ruby-2.6,ruby-2.7,ruby-3.0,ruby-3.1,ruby-jruby"
38
+ parallel-finished: true
data/.rubocop.yml ADDED
@@ -0,0 +1,36 @@
1
+ AllCops:
2
+ NewCops: enable
3
+ SuggestExtensions: false
4
+
5
+ Style/StringLiterals:
6
+ EnforcedStyle: double_quotes
7
+
8
+ Metrics/BlockLength:
9
+ Enabled: false
10
+
11
+ Style/Documentation:
12
+ Enabled: false
13
+
14
+ Layout/LineLength:
15
+ Enabled: false
16
+
17
+ Naming/FileName:
18
+ Enabled: false
19
+
20
+ Metrics/MethodLength:
21
+ Enabled: false
22
+
23
+ Metrics/ClassLength:
24
+ Enabled: false
25
+
26
+ Metrics/AbcSize:
27
+ Enabled: false
28
+
29
+ Gemspec/RequiredRubyVersion:
30
+ Enabled: false
31
+
32
+ Style/SelectByRegexp:
33
+ Enabled: false
34
+
35
+ Style/CaseLikeIf:
36
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Changelog
2
2
 
3
- ## Unreleased
3
+ ## 0.7.0
4
+
5
+ - fix: filter extra even without request [#14](https://github.com/mrexox/sentry-sanitizer/pull/14)
4
6
 
5
7
  ## 0.5.0
6
8
 
data/Gemfile CHANGED
@@ -1,6 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
5
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
6
 
5
7
  # Specify your gem's dependencies in sentry-sanitizer.gemspec
6
8
  gemspec
9
+
10
+ gem "rubocop", "~> 1.28.2"
11
+ gem "simplecov", require: false, group: :test
12
+
13
+ gem "bundler", ">= 1.17"
14
+ gem "rack"
15
+ gem "rake", "~> 10.0"
16
+ gem "rspec", "~> 3.0"
data/Gemfile.lock CHANGED
@@ -1,19 +1,25 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sentry-sanitizer (0.6.0)
4
+ sentry-sanitizer (0.7.0)
5
5
  sentry-ruby (~> 5.3)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- codecov (0.6.0)
11
- simplecov (>= 0.15, < 0.22)
12
- concurrent-ruby (1.1.10)
10
+ ast (2.4.2)
11
+ bigdecimal (3.1.9)
12
+ concurrent-ruby (1.3.5)
13
13
  diff-lcs (1.5.0)
14
14
  docile (1.4.0)
15
+ parallel (1.23.0)
16
+ parser (3.2.2.1)
17
+ ast (~> 2.4.1)
15
18
  rack (2.2.3.1)
19
+ rainbow (3.1.1)
16
20
  rake (10.5.0)
21
+ regexp_parser (2.8.0)
22
+ rexml (3.2.5)
17
23
  rspec (3.11.0)
18
24
  rspec-core (~> 3.11.0)
19
25
  rspec-expectations (~> 3.11.0)
@@ -27,24 +33,38 @@ GEM
27
33
  diff-lcs (>= 1.2.0, < 2.0)
28
34
  rspec-support (~> 3.11.0)
29
35
  rspec-support (3.11.0)
30
- sentry-ruby (5.4.1)
36
+ rubocop (1.28.2)
37
+ parallel (~> 1.10)
38
+ parser (>= 3.1.0.0)
39
+ rainbow (>= 2.2.2, < 4.0)
40
+ regexp_parser (>= 1.8, < 3.0)
41
+ rexml
42
+ rubocop-ast (>= 1.17.0, < 2.0)
43
+ ruby-progressbar (~> 1.7)
44
+ unicode-display_width (>= 1.4.0, < 3.0)
45
+ rubocop-ast (1.29.0)
46
+ parser (>= 3.2.1.0)
47
+ ruby-progressbar (1.13.0)
48
+ sentry-ruby (5.22.2)
49
+ bigdecimal
31
50
  concurrent-ruby (~> 1.0, >= 1.0.2)
32
51
  simplecov (0.18.5)
33
52
  docile (~> 1.1)
34
53
  simplecov-html (~> 0.11)
35
54
  simplecov-html (0.12.3)
55
+ unicode-display_width (2.4.2)
36
56
 
37
57
  PLATFORMS
38
58
  ruby
39
59
 
40
60
  DEPENDENCIES
41
61
  bundler (>= 1.17)
42
- codecov
43
62
  rack
44
63
  rake (~> 10.0)
45
64
  rspec (~> 3.0)
65
+ rubocop (~> 1.28.2)
46
66
  sentry-sanitizer!
47
- simplecov (~> 0.18.5)
67
+ simplecov
48
68
 
49
69
  BUNDLED WITH
50
70
  2.3.16
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ![CI](https://github.com/mrexox/sentry-sanitizer/workflows/CI/badge.svg)
2
2
  [![Gem Version](https://badge.fury.io/rb/sentry-sanitizer.svg)](https://badge.fury.io/rb/sentry-sanitizer)
3
- [![codecov](https://codecov.io/gh/mrexox/sentry-sanitizer/branch/master/graph/badge.svg?token=QW93HCVI0W)](https://codecov.io/gh/mrexox/sentry-sanitizer)
3
+ [![Coverage Status](https://coveralls.io/repos/github/mrexox/sentry-sanitizer/badge.svg?branch=master)](https://coveralls.io/github/mrexox/sentry-sanitizer?branch=master)
4
4
 
5
5
  # sentry-sanitizer: sanitizing extension for sentry-ruby
6
6
 
@@ -56,6 +56,9 @@ Sentry.init do |config|
56
56
  # You can sanitize all cookies with this setting
57
57
  config.sanitize.cookies = true
58
58
 
59
+ # You can sanitize query string params for GET requests
60
+ config.sanitize.query_string = true
61
+
59
62
  # ...
60
63
  end
61
64
  ```
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
  require "rspec/core/rake_task"
3
5
 
4
6
  RSpec::Core::RakeTask.new(:spec)
5
7
 
6
- task :default => :spec
8
+ task default: :spec
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/sanitizer"
data/lefthook.yml ADDED
@@ -0,0 +1,6 @@
1
+ pre-commit:
2
+ commands:
3
+ lint:
4
+ run: bundle exec rubocop -A {staged_files}
5
+ glob: "*.rb"
6
+ stage_fixed: true
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Sanitizer
3
5
  class Cleaner
4
- DEFAULT_MASK = '[FILTERED]'.freeze
6
+ DEFAULT_MASK = "[FILTERED]"
5
7
  DEFAULT_SENSITIVE_HEADERS = %w[
6
8
  Authorization
7
9
  X-Xsrf-Token
@@ -14,37 +16,46 @@ module Sentry
14
16
  @http_headers = config.http_headers || DEFAULT_SENSITIVE_HEADERS
15
17
  @do_cookies = config.cookies || false
16
18
  @do_query_string = config.query_string || false
19
+ @mask = config.mask || DEFAULT_MASK
17
20
  end
18
21
 
19
22
  def call(event)
20
- if event.is_a?(Sentry::Event)
21
- sanitize_request(event, :object) if event.request
22
- event.extra = sanitize_data(event.extra)
23
- elsif event.is_a?(Hash)
24
- sanitize_request(event, :stringified_hash) if event['request']
25
- sanitize_request(event, :symbolized_hash) if event[:request]
26
- event['extra'] = sanitize_data(event['extra']) if event['extra']
27
- event[:extra] = sanitize_data(event[:extra]) if event[:extra]
23
+ case event
24
+ when Sentry::Event
25
+ sanitize(event, :event)
26
+ when Hash
27
+ sanitize(event, :hash)
28
28
  end
29
29
  end
30
30
 
31
- def sanitize_request(event, type)
31
+ def sanitize(event, type) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
32
32
  case type
33
- when :object
34
- event.request.data = sanitize_data(event.request.data)
35
- event.request.headers = sanitize_headers(event.request.headers)
36
- event.request.cookies = sanitize_cookies(event.request.cookies)
37
- event.request.query_string = sanitize_query_string(event.request.query_string)
38
- when :stringified_hash
39
- event['request']['data'] = sanitize_data(event['request']['data'])
40
- event['request']['headers'] = sanitize_headers(event['request']['headers'])
41
- event['request']['cookies'] = sanitize_cookies(event['request']['cookies'])
42
- event['request']['query_string'] = sanitize_query_string(event['request']['query_string'])
43
- when :symbolized_hash
44
- event[:request][:data] = sanitize_data(event[:request][:data])
45
- event[:request][:headers] = sanitize_headers(event[:request][:headers])
46
- event[:request][:cookies] = sanitize_cookies(event[:request][:cookies])
47
- event[:request][:query_string] = sanitize_query_string(event[:request][:query_string])
33
+ when :event
34
+ if event.request
35
+ event.request.data = sanitize_data(event.request.data)
36
+ event.request.headers = sanitize_headers(event.request.headers)
37
+ event.request.cookies = sanitize_cookies(event.request.cookies)
38
+ event.request.query_string = sanitize_query_string(event.request.query_string)
39
+ end
40
+ event.extra = sanitize_data(event.extra)
41
+ when :hash
42
+ if event["request"]
43
+ event["request"]["data"] = sanitize_data(event["request"]["data"])
44
+ event["request"]["headers"] = sanitize_headers(event["request"]["headers"])
45
+ event["request"]["cookies"] = sanitize_cookies(event["request"]["cookies"])
46
+ event["request"]["query_string"] = sanitize_query_string(event["request"]["query_string"])
47
+ elsif event[:request]
48
+ event[:request][:data] = sanitize_data(event[:request][:data])
49
+ event[:request][:headers] = sanitize_headers(event[:request][:headers])
50
+ event[:request][:cookies] = sanitize_cookies(event[:request][:cookies])
51
+ event[:request][:query_string] = sanitize_query_string(event[:request][:query_string])
52
+ end
53
+
54
+ if event["extra"]
55
+ event["extra"] = sanitize_data(event["extra"])
56
+ elsif event[:extra]
57
+ event[:extra] = sanitize_data(event[:extra])
58
+ end
48
59
  end
49
60
  end
50
61
 
@@ -57,19 +68,24 @@ module Sentry
57
68
 
58
69
  private
59
70
 
60
- attr_reader :fields, :http_headers, :do_cookies, :do_query_string
71
+ attr_reader :fields,
72
+ :http_headers,
73
+ :do_cookies,
74
+ :do_query_string,
75
+ :mask
61
76
 
62
77
  # Sanitize specified headers
63
78
  def sanitize_headers(headers)
64
79
  case http_headers
65
80
  when TrueClass
66
- headers.transform_values { DEFAULT_MASK }
81
+ headers.transform_values { mask }
67
82
  when Array
68
83
  return headers unless http_headers.size.positive?
84
+
69
85
  http_headers_regex = sensitive_regexp(http_headers)
70
86
 
71
87
  headers.keys.select { |key| key.match?(http_headers_regex) }.each do |key|
72
- headers[key] = DEFAULT_MASK
88
+ headers[key] = mask
73
89
  end
74
90
 
75
91
  headers
@@ -83,21 +99,21 @@ module Sentry
83
99
  return cookies unless do_cookies
84
100
  return cookies unless cookies.is_a? Hash
85
101
 
86
- cookies.transform_values { DEFAULT_MASK }
102
+ cookies.transform_values { mask }
87
103
  end
88
104
 
89
105
  def sanitize_query_string(query_string)
90
106
  return query_string unless do_query_string
91
107
  return query_string unless query_string.is_a? String
92
108
 
93
- sanitized_array = query_string.split('&').map do |kv_pair|
94
- k, v = kv_pair.split('=')
109
+ sanitized_array = query_string.split("&").map do |kv_pair|
110
+ k, v = kv_pair.split("=")
95
111
  new_v = sanitize_string(k, v)
96
112
 
97
113
  "#{k}=#{new_v}"
98
114
  end
99
115
 
100
- sanitized_array.join('&')
116
+ sanitized_array.join("&")
101
117
  end
102
118
 
103
119
  def sanitize_value(value, key)
@@ -115,7 +131,7 @@ module Sentry
115
131
 
116
132
  def sanitize_hash(key, value)
117
133
  if key&.match?(sensitive_fields)
118
- DEFAULT_MASK
134
+ mask
119
135
  elsif value.frozen?
120
136
  value.merge(value) { |k, v| sanitize_value(v, k) }
121
137
  else
@@ -132,7 +148,7 @@ module Sentry
132
148
  end
133
149
 
134
150
  def sanitize_string(key, value)
135
- key&.match?(sensitive_fields) ? DEFAULT_MASK : value
151
+ key&.match?(sensitive_fields) ? mask : value
136
152
  end
137
153
 
138
154
  def sensitive_fields
@@ -140,7 +156,7 @@ module Sentry
140
156
  end
141
157
 
142
158
  def sensitive_regexp(fields)
143
- Regexp.new(fields.map { |field| "\\b#{field}\\b" }.join('|'), 'i')
159
+ Regexp.new(fields.map { |field| "\\b#{field}\\b" }.join("|"), "i")
144
160
  end
145
161
  end
146
162
  end
@@ -1,6 +1,8 @@
1
- require 'sentry/configuration'
2
- require 'sentry/sanitizer/cleaner'
3
- require 'sentry/sanitizer/configuration_mixin'
1
+ # frozen_string_literal: true
2
+
3
+ require "sentry/configuration"
4
+ require "sentry/sanitizer/cleaner"
5
+ require "sentry/sanitizer/configuration_mixin"
4
6
 
5
7
  module Sentry
6
8
  # Monkey-patching Sentry::Configuration
@@ -14,53 +16,60 @@ module Sentry
14
16
  add_post_initialization_callback do
15
17
  @sanitize ||= Sentry::Sanitizer::Configuration.new
16
18
 
17
- self.before_send = ->(event, hint) do
19
+ self.before_send = lambda { |event, _hint|
18
20
  Sentry::Sanitizer::Cleaner.new(Sentry.configuration.sanitize).call(event)
19
21
 
20
22
  event
21
- end
23
+ }
22
24
  end
23
25
  end
24
26
 
25
27
  module Sanitizer
26
28
  class Configuration
27
- attr_accessor :fields, :http_headers, :cookies, :query_string
29
+ attr_reader :fields,
30
+ :http_headers,
31
+ :cookies,
32
+ :query_string,
33
+ :mask
28
34
 
29
35
  def configured?
30
- [fields, http_headers, cookies, query_string].any? { |setting| !setting.nil? }
36
+ [
37
+ fields,
38
+ http_headers,
39
+ cookies,
40
+ query_string
41
+ ].any? { |setting| !setting.nil? }
31
42
  end
32
43
 
33
44
  def fields=(fields)
34
- unless fields.is_a? Array
35
- raise ArgumentError, 'sanitize_fields must be array'
36
- end
45
+ raise ArgumentError, "sanitize_fields must be array" unless fields.is_a? Array
37
46
 
38
47
  @fields = fields
39
48
  end
40
49
 
41
50
  def http_headers=(headers)
42
- unless [Array, TrueClass, FalseClass].include?(headers.class)
43
- raise ArgumentError, 'sanitize_http_headers must be array'
44
- end
51
+ raise ArgumentError, "sanitize_http_headers must be array" unless [Array, TrueClass, FalseClass].include?(headers.class)
45
52
 
46
53
  @http_headers = headers
47
54
  end
48
55
 
49
56
  def cookies=(cookies)
50
- unless [TrueClass, FalseClass].include?(cookies.class)
51
- raise ArgumentError, 'cookies must be boolean'
52
- end
57
+ raise ArgumentError, "cookies must be boolean" unless [TrueClass, FalseClass].include?(cookies.class)
53
58
 
54
59
  @cookies = cookies
55
60
  end
56
61
 
57
62
  def query_string=(query_string)
58
- unless [TrueClass, FalseClass].include?(query_string.class)
59
- raise ArgumentError, 'query_string must be boolean'
60
- end
63
+ raise ArgumentError, "query_string must be boolean" unless [TrueClass, FalseClass].include?(query_string.class)
61
64
 
62
65
  @query_string = query_string
63
66
  end
67
+
68
+ def mask=(mask)
69
+ raise ArgumentError, "mask must be string" unless mask.is_a?(String)
70
+
71
+ @mask = mask
72
+ end
64
73
  end
65
74
  end
66
75
  end
@@ -1,18 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Sanitizer
3
5
  module ConfigurationMixin
4
6
  # Allow adding multiple hooks for this extension
7
+ #
8
+ # @param [nil, false, #call] value
9
+ #
5
10
  def before_send=(value)
6
- unless value == nil || value.respond_to?(:call)
7
- raise ArgumentError, "before_send must be callable (or false to disable)"
8
- end
11
+ raise ArgumentError, "before_send must be callable (or false to disable)" unless value.nil? || value == false || value.respond_to?(:call)
9
12
 
10
- return if value == nil
13
+ return unless value
11
14
 
12
15
  @before_send_hook_list ||= []
13
16
  @before_send_hook_list << value
14
17
 
15
- @before_send = ->(event, hint) {
18
+ @before_send = lambda { |event, hint|
16
19
  @before_send_hook_list.each do |hook|
17
20
  event = hook.call(event, hint)
18
21
  end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sentry
2
4
  module Sanitizer
3
- VERSION = '0.6.0'
5
+ VERSION = "0.7.0"
4
6
  end
5
7
  end
@@ -1,11 +1,13 @@
1
- require 'sentry-ruby'
2
- require 'sentry/integrable'
3
- require 'sentry/sanitizer/configuration'
1
+ # frozen_string_literal: true
2
+
3
+ require "sentry-ruby"
4
+ require "sentry/integrable"
5
+ require "sentry/sanitizer/configuration"
4
6
 
5
7
  module Sentry
6
8
  module Sanitizer
7
9
  extend Integrable
8
10
 
9
- register_integration name: 'sanitizer', version: Sentry::Sanitizer::VERSION
11
+ register_integration name: "sanitizer", version: Sentry::Sanitizer::VERSION
10
12
  end
11
13
  end
@@ -1,2 +1,4 @@
1
- require 'sentry/sanitizer/version'
2
- require 'sentry/sanitizer'
1
+ # frozen_string_literal: true
2
+
3
+ require "sentry/sanitizer/version"
4
+ require "sentry/sanitizer"
@@ -1,40 +1,32 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('lib', __dir__)
3
+ lib = File.expand_path("lib", __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'sentry/sanitizer/version'
5
+ require "sentry/sanitizer/version"
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = 'sentry-sanitizer'
8
+ spec.name = "sentry-sanitizer"
9
9
  spec.version = Sentry::Sanitizer::VERSION
10
- spec.authors = ['Valentine Kiselev']
11
- spec.email = ['mrexox@outlook.com']
10
+ spec.authors = ["Valentine Kiselev"]
11
+ spec.email = ["mrexox@outlook.com"]
12
12
 
13
- spec.summary = %q{Sanitizing middleware for sentry-ruby gem}
14
- spec.description = %q{Add missing sanitizing support for sentry-ruby (previous sentry-raven)}
15
- spec.homepage = 'https://github.com/mrexox/sentry-sanitizer'
16
- spec.license = 'BSD'
13
+ spec.summary = "Sanitizing middleware for sentry-ruby gem"
14
+ spec.description = "Add missing sanitizing support for sentry-ruby (previous sentry-raven)"
15
+ spec.homepage = "https://github.com/mrexox/sentry-sanitizer"
16
+ spec.license = "BSD"
17
17
 
18
- spec.metadata['homepage_uri'] = spec.homepage
19
- spec.metadata['source_code_uri'] = spec.homepage
20
- spec.metadata['changelog_uri'] = spec.homepage
18
+ spec.metadata["homepage_uri"] = spec.homepage
19
+ spec.metadata["source_code_uri"] = spec.homepage
20
+ spec.metadata["changelog_uri"] = spec.homepage
21
21
 
22
22
  # Specify which files should be added to the gem when it is released.
23
23
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
25
25
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
26
  end
27
27
 
28
- spec.require_paths = ['lib']
28
+ spec.require_paths = ["lib"]
29
29
 
30
- # Codecov
31
- spec.add_development_dependency 'codecov'
32
- spec.add_development_dependency 'simplecov', '~> 0.18.5'
33
-
34
- spec.add_development_dependency 'bundler', '>= 1.17'
35
- spec.add_development_dependency 'rake', '~> 10.0'
36
- spec.add_development_dependency 'rspec', '~> 3.0'
37
- spec.add_development_dependency 'rack'
38
-
39
- spec.add_runtime_dependency 'sentry-ruby', '~> 5.3'
30
+ spec.add_runtime_dependency "sentry-ruby", "~> 5.3"
31
+ spec.metadata["rubygems_mfa_required"] = "true"
40
32
  end
data/tea.yml ADDED
@@ -0,0 +1,6 @@
1
+ # https://tea.xyz/what-is-this-file
2
+ ---
3
+ version: 1.0.0
4
+ codeOwners:
5
+ - '0xb1a25Fe215747E1093901282dc2Ea68cE8c290D8'
6
+ quorum: 1
metadata CHANGED
@@ -1,99 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry-sanitizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Valentine Kiselev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-19 00:00:00.000000000 Z
11
+ date: 2025-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: codecov
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: simplecov
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 0.18.5
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 0.18.5
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '1.17'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '1.17'
55
- - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '10.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '10.0'
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '3.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '3.0'
83
- - !ruby/object:Gem::Dependency
84
- name: rack
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
13
  - !ruby/object:Gem::Dependency
98
14
  name: sentry-ruby
99
15
  requirement: !ruby/object:Gem::Requirement
@@ -115,9 +31,12 @@ executables: []
115
31
  extensions: []
116
32
  extra_rdoc_files: []
117
33
  files:
118
- - ".github/workflows/ci.yml"
34
+ - ".github/workflows/ci-linux.yml"
35
+ - ".github/workflows/ci-macos.yml"
36
+ - ".github/workflows/coveralls-report.yml"
119
37
  - ".gitignore"
120
38
  - ".rspec"
39
+ - ".rubocop.yml"
121
40
  - ".travis.yml"
122
41
  - CHANGELOG.md
123
42
  - Gemfile
@@ -127,6 +46,7 @@ files:
127
46
  - Rakefile
128
47
  - bin/console
129
48
  - bin/setup
49
+ - lefthook.yml
130
50
  - lib/sentry-sanitizer.rb
131
51
  - lib/sentry/sanitizer.rb
132
52
  - lib/sentry/sanitizer/cleaner.rb
@@ -134,6 +54,7 @@ files:
134
54
  - lib/sentry/sanitizer/configuration_mixin.rb
135
55
  - lib/sentry/sanitizer/version.rb
136
56
  - sentry-sanitizer.gemspec
57
+ - tea.yml
137
58
  homepage: https://github.com/mrexox/sentry-sanitizer
138
59
  licenses:
139
60
  - BSD
@@ -141,6 +62,7 @@ metadata:
141
62
  homepage_uri: https://github.com/mrexox/sentry-sanitizer
142
63
  source_code_uri: https://github.com/mrexox/sentry-sanitizer
143
64
  changelog_uri: https://github.com/mrexox/sentry-sanitizer
65
+ rubygems_mfa_required: 'true'
144
66
  post_install_message:
145
67
  rdoc_options: []
146
68
  require_paths:
@@ -156,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
78
  - !ruby/object:Gem::Version
157
79
  version: '0'
158
80
  requirements: []
159
- rubygems_version: 3.2.3
81
+ rubygems_version: 3.4.19
160
82
  signing_key:
161
83
  specification_version: 4
162
84
  summary: Sanitizing middleware for sentry-ruby gem