blouson 4.0.0 → 5.0.0
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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +3 -8
- data/.gitignore +1 -0
- data/Appraisals +4 -5
- data/CHANGELOG.md +6 -0
- data/blouson.gemspec +1 -1
- data/gemfiles/{rails_7.0.gemfile → rails_8.1.gemfile} +1 -2
- data/lib/blouson/engine.rb +8 -2
- data/lib/blouson/sensitive_query_filter.rb +32 -16
- data/lib/blouson/sentry_parameter_filter.rb +1 -7
- data/lib/blouson/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 893f69fbcd20b47c42747057d94ef6dc8a28b85f7d01555c75c4153de9ba70c9
|
|
4
|
+
data.tar.gz: 28c135959444fad3f1534dedaf66ab15a3a77f68c826f62bb7c03b7b308602c5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aa8dfa921b4dccd56b4b2f6ee72462581818ebf5c71147529fffd45c3c8b463ecec63d8263dd511a8be01875ca7efd856322189c1d077dc6c587f401f4329acb
|
|
7
|
+
data.tar.gz: 599ca220db2713d02327de03e789ed83b83ca96625bf7ce469853451669cccf71db97ee3ed8d188f3074c2693d46ff28175869c6bc1c621409ee729386515a87
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -11,25 +11,20 @@ jobs:
|
|
|
11
11
|
fail-fast: false
|
|
12
12
|
matrix:
|
|
13
13
|
ruby:
|
|
14
|
-
- '3.0'
|
|
15
14
|
- '3.1'
|
|
16
15
|
- '3.2'
|
|
17
16
|
- '3.3'
|
|
18
17
|
- '3.4'
|
|
19
18
|
gemfile:
|
|
20
|
-
- rails_7.0
|
|
21
19
|
- rails_7.1
|
|
22
20
|
- rails_7.2
|
|
23
21
|
- rails_8.0
|
|
22
|
+
- rails_8.1
|
|
24
23
|
exclude:
|
|
25
|
-
- ruby: '3.0'
|
|
26
|
-
gemfile: rails_7.2
|
|
27
|
-
- ruby: '3.0'
|
|
28
|
-
gemfile: rails_8.0
|
|
29
24
|
- ruby: '3.1'
|
|
30
25
|
gemfile: rails_8.0
|
|
31
|
-
- ruby: '3.
|
|
32
|
-
gemfile:
|
|
26
|
+
- ruby: '3.1'
|
|
27
|
+
gemfile: rails_8.1
|
|
33
28
|
name: Run test with Ruby ${{ matrix.ruby }} and Gemfile ${{ matrix.gemfile }}
|
|
34
29
|
services:
|
|
35
30
|
mysql:
|
data/.gitignore
CHANGED
data/Appraisals
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
appraise 'rails-7.0' do
|
|
2
|
-
gem 'rails', '~> 7.0.0'
|
|
3
|
-
gem 'concurrent-ruby', '1.3.4'
|
|
4
|
-
end
|
|
5
|
-
|
|
6
1
|
appraise 'rails-7.1' do
|
|
7
2
|
gem 'rails', '~> 7.1.0'
|
|
8
3
|
end
|
|
@@ -15,4 +10,8 @@ appraise 'rails-8.0' do
|
|
|
15
10
|
gem 'rails', '~> 8.0.0'
|
|
16
11
|
end
|
|
17
12
|
|
|
13
|
+
appraise 'rails-8.1' do
|
|
14
|
+
gem 'rails', '~> 8.1.0'
|
|
15
|
+
end
|
|
16
|
+
|
|
18
17
|
# vim: set ft=ruby:
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
# 5.0.0 (2026-01-23)
|
|
2
|
+
- [Breaking change] Drop support for Ruby 3.0
|
|
3
|
+
- [Breaking change] Drop support for Rails 7.0
|
|
4
|
+
- Support Rails 8.1
|
|
5
|
+
- Fix version matching errors; Blouson::SensitiveQueryFilter::AbstractAdapterFilter was not loaded with Rails 8.0
|
|
6
|
+
|
|
1
7
|
# 4.0.0 (2025-02-04)
|
|
2
8
|
- [Breaking change] Drop support for arproxy v0. Please update >= v1
|
|
3
9
|
- [Breaking change] Drop support for Ruby 2.7
|
data/blouson.gemspec
CHANGED
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
22
22
|
spec.require_paths = ["lib"]
|
|
23
23
|
|
|
24
|
-
spec.add_dependency 'rails', '>= 7.
|
|
24
|
+
spec.add_dependency 'rails', '>= 7.1.0'
|
|
25
25
|
|
|
26
26
|
spec.add_development_dependency 'arproxy', '>= 1.0.0'
|
|
27
27
|
spec.add_development_dependency 'mysql2'
|
data/lib/blouson/engine.rb
CHANGED
|
@@ -19,9 +19,15 @@ module Blouson
|
|
|
19
19
|
ActiveRecord::StatementInvalid.class_eval do
|
|
20
20
|
prepend Blouson::SensitiveQueryFilter::StatementInvalidErrorFilter
|
|
21
21
|
end
|
|
22
|
-
if
|
|
22
|
+
if ActiveRecord.gem_version >= Gem::Version.new('7.1') && defined?(Mysql2::Error)
|
|
23
23
|
ActiveRecord::ConnectionAdapters::AbstractAdapter.class_eval do
|
|
24
|
-
|
|
24
|
+
if ActiveRecord.gem_version >= Gem::Version.new('8.1')
|
|
25
|
+
prepend Blouson::SensitiveQueryFilter::AbstractAdapterFilter81
|
|
26
|
+
elsif ActiveRecord.gem_version >= Gem::Version.new('8.0')
|
|
27
|
+
prepend Blouson::SensitiveQueryFilter::AbstractAdapterFilter80
|
|
28
|
+
else
|
|
29
|
+
prepend Blouson::SensitiveQueryFilter::AbstractAdapterFilter71
|
|
30
|
+
end
|
|
25
31
|
end
|
|
26
32
|
end
|
|
27
33
|
end
|
|
@@ -26,17 +26,7 @@ module Blouson
|
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
# Rails >= 7.1
|
|
31
|
-
#
|
|
32
|
-
# - https://github.com/rails/rails/pull/48295
|
|
33
|
-
super(message, sql: sql, binds: binds, connection_pool: connection_pool)
|
|
34
|
-
else
|
|
35
|
-
# Rails >= 6.0
|
|
36
|
-
#
|
|
37
|
-
# - https://github.com/rails/rails/pull/34468
|
|
38
|
-
super(message, sql: sql, binds: binds)
|
|
39
|
-
end
|
|
29
|
+
super(message, sql:, binds:, connection_pool:)
|
|
40
30
|
end
|
|
41
31
|
|
|
42
32
|
def set_query(sql, binds)
|
|
@@ -62,13 +52,25 @@ module Blouson
|
|
|
62
52
|
end
|
|
63
53
|
end
|
|
64
54
|
|
|
65
|
-
module
|
|
55
|
+
module AbstractAdapterFilter71
|
|
56
|
+
# https://github.com/rails/rails/blob/v7.1.0/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb#L1133
|
|
66
57
|
def log(sql, name = "SQL", binds = [], type_casted_binds = [], statement_name = nil, async: false, &block)
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
58
|
+
super(sql, name, binds, type_casted_binds, statement_name, async:, &block)
|
|
59
|
+
rescue ActiveRecord::RecordNotUnique, Mysql2::Error => ex
|
|
60
|
+
if ex.cause.is_a?(Mysql2::Error)
|
|
61
|
+
ex.cause.extend(Mysql2Filter)
|
|
62
|
+
elsif $!.is_a?(Mysql2::Error)
|
|
63
|
+
$!.extend(Mysql2Filter)
|
|
71
64
|
end
|
|
65
|
+
raise ex
|
|
66
|
+
end
|
|
67
|
+
private :log
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
module AbstractAdapterFilter80
|
|
71
|
+
# https://github.com/rails/rails/blob/v8.0.0/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb#L1128
|
|
72
|
+
def log(sql, name = "SQL", binds = [], type_casted_binds = [], async: false, &block)
|
|
73
|
+
super(sql, name, binds, type_casted_binds, async:, &block)
|
|
72
74
|
rescue ActiveRecord::RecordNotUnique, Mysql2::Error => ex
|
|
73
75
|
if ex.cause.is_a?(Mysql2::Error)
|
|
74
76
|
ex.cause.extend(Mysql2Filter)
|
|
@@ -77,7 +79,21 @@ module Blouson
|
|
|
77
79
|
end
|
|
78
80
|
raise ex
|
|
79
81
|
end
|
|
82
|
+
private :log
|
|
83
|
+
end
|
|
80
84
|
|
|
85
|
+
module AbstractAdapterFilter81
|
|
86
|
+
# https://github.com/rails/rails/blob/v8.1.0/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb#L1200
|
|
87
|
+
def log(sql, name = "SQL", binds = [], type_casted_binds = [], async: false, allow_retry: false, &block)
|
|
88
|
+
super(sql, name, binds, type_casted_binds, async:, allow_retry:, &block)
|
|
89
|
+
rescue ActiveRecord::RecordNotUnique, Mysql2::Error => ex
|
|
90
|
+
if ex.cause.is_a?(Mysql2::Error)
|
|
91
|
+
ex.cause.extend(Mysql2Filter)
|
|
92
|
+
elsif $!.is_a?(Mysql2::Error)
|
|
93
|
+
$!.extend(Mysql2Filter)
|
|
94
|
+
end
|
|
95
|
+
raise ex
|
|
96
|
+
end
|
|
81
97
|
private :log
|
|
82
98
|
end
|
|
83
99
|
end
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
module Blouson
|
|
2
2
|
class SentryParameterFilter
|
|
3
3
|
def initialize(filters, header_filters = [])
|
|
4
|
-
|
|
5
|
-
parameter_filter_klass = if defined?(ActiveSupport::ParameterFilter)
|
|
6
|
-
ActiveSupport::ParameterFilter
|
|
7
|
-
else
|
|
8
|
-
ActionDispatch::Http::ParameterFilter
|
|
9
|
-
end
|
|
10
|
-
@parameter_filter = parameter_filter_klass.new(filters)
|
|
4
|
+
@parameter_filter = ActiveSupport::ParameterFilter.new(filters)
|
|
11
5
|
@header_filters = header_filters.map(&:downcase)
|
|
12
6
|
end
|
|
13
7
|
|
data/lib/blouson/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: blouson
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 5.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cookpad Inc.
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: rails
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 7.
|
|
18
|
+
version: 7.1.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 7.
|
|
25
|
+
version: 7.1.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: arproxy
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -168,10 +168,10 @@ files:
|
|
|
168
168
|
- bin/console
|
|
169
169
|
- bin/setup
|
|
170
170
|
- blouson.gemspec
|
|
171
|
-
- gemfiles/rails_7.0.gemfile
|
|
172
171
|
- gemfiles/rails_7.1.gemfile
|
|
173
172
|
- gemfiles/rails_7.2.gemfile
|
|
174
173
|
- gemfiles/rails_8.0.gemfile
|
|
174
|
+
- gemfiles/rails_8.1.gemfile
|
|
175
175
|
- lib/blouson.rb
|
|
176
176
|
- lib/blouson/engine.rb
|
|
177
177
|
- lib/blouson/raven_parameter_filter_processor.rb
|
|
@@ -200,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
200
200
|
- !ruby/object:Gem::Version
|
|
201
201
|
version: '0'
|
|
202
202
|
requirements: []
|
|
203
|
-
rubygems_version:
|
|
203
|
+
rubygems_version: 4.0.3
|
|
204
204
|
specification_version: 4
|
|
205
205
|
summary: Filter tools to mask sensitive data in various logs
|
|
206
206
|
test_files: []
|