blinkist-airbrake-scrubber 4.1.1 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 481351d1dcfaacbac3c90de8d56a3ec874ffa06ad7a594d28e8c2d836ad9017d
4
- data.tar.gz: ef6af4052741c1608fa7ebefaacaca7590d33b1a5eaf97dc82c6698d080145b8
3
+ metadata.gz: 384474ed46015fbd829291dee4447f62f298cc5350c785553dfdec1a1bfdcfa1
4
+ data.tar.gz: 01ae174a8654423131efc1a0553bcf73522aa8c49bd28d68bb129b27721ee0e6
5
5
  SHA512:
6
- metadata.gz: 0e94893b4853f603fe92f21bbcadeaf281585cfd153b6fc458a6178e5331bd9da24b1842b6de2e4a3fefc8ea066b1519ff253c3351dd820fda2eb4768a4e236f
7
- data.tar.gz: 71cdc6db850e77c69cff4010507a7c2977664bd46c70d62a9fef6b800a25ac8f48966791528755d2656c97566c71b51e7ebf52bf7442ffd760fd3325290a39ff
6
+ metadata.gz: 65975aaba1e9a49c176e9f2163d332a6666b0875d391aab1fe0bca9cee0e03046310d5ef6045a8fb2f078d39460bdc8dffe798c52f38ea765de83a4bc73470a6
7
+ data.tar.gz: 6d4de8de1e728188bb318e27134af4af1423c71907d422ae6d3f4ca8d1f21c5a3c44134beac2ecf61527c63c819700582e8e3d0565af75fa755a6077e93122ac
data/Gemfile CHANGED
@@ -1,16 +1,16 @@
1
- ruby "2.3.6"
1
+ # frozen_string_literal: true
2
2
 
3
3
  source "https://rubygems.org"
4
4
  git_source(:github) { |repo| "https://github.com/blinkist/#{repo}.git" }
5
5
 
6
6
  group :test do
7
- gem "rake"
7
+ gem "dotenv"
8
+ gem "forgery"
8
9
  gem "rack"
10
+ gem "rake"
9
11
  gem "rspec"
10
- gem "forgery"
11
- gem "simplecov"
12
- gem "dotenv"
13
12
  gem "rspec_junit_formatter"
13
+ gem "simplecov"
14
14
  end
15
15
 
16
16
  group :development, :test do
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Blinkist::AirbrakeScrubber
2
2
 
3
- Blinkist::AirbrakeScrubber provides an Airbrake scrubbing service to remove various sensitive informations from the notifications, e.g. emails. It does *not* replace Airbrake configuration, but provides some seamless functionality.
3
+ Blinkist::AirbrakeScrubber provides an Airbrake scrubbing service to remove various sensitive informations from the notifications, e.g. emails. It does _not_ replace Airbrake configuration, but provides some seamless functionality.
4
4
 
5
5
  ## Installation
6
6
 
@@ -28,7 +28,7 @@ module Blinkist::AirbrakeScrubber
28
28
  # Rainbows and unicorns come here:
29
29
  notice[:errors].each { |error| error[:message].gsub!(REGEXP, FILTERED) }
30
30
  end
31
- end # def self.scrub!
31
+ end
32
32
 
33
33
  end
34
34
  end
@@ -38,16 +38,16 @@ Then, add the class to Blinkist::AirbrakeScrubber's SCRUBBERS list to have it ra
38
38
 
39
39
  ### Dependencies
40
40
 
41
- This gem has dependency on airbrake (~> 7), it will automatically add it unless already bundled.
41
+ This gem has dependency on airbrake (>= 9), it will automatically add it unless already bundled.
42
42
 
43
43
  ## Maintainers
44
44
 
45
- * Paweł Komarnicki (https://github.com/pawelkomarnicki)
45
+ - Blinkist (https://github.com/blinkist)
46
46
 
47
47
  ## Special thanks
48
48
 
49
- * Tomek Przedmojski (https://github.com/tprzedmojski) for providing a brilliant way to use Module#prepend :-)
49
+ - Tomek Przedmojski (https://github.com/tprzedmojski) for providing a brilliant way to use Module#prepend :-)
50
50
 
51
51
  ## License
52
52
 
53
- Copyright 2018 Blinks Labs GmbH. http://blinkist.com
53
+ Copyright 2021 Blinks Labs GmbH. https://blinkist.com
data/Rakefile CHANGED
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
 
3
5
  require 'rspec/core/rake_task'
4
6
  RSpec::Core::RakeTask.new(:spec)
5
7
 
6
8
  task(:default).clear
7
- task default: [ :spec ]
9
+ task default: [:spec]
@@ -1,4 +1,5 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
+
2
3
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "lib"))
3
4
 
4
5
  require_relative "lib/blinkist-airbrake-scrubber/version"
@@ -6,17 +7,17 @@ require_relative "lib/blinkist-airbrake-scrubber/version"
6
7
  Gem::Specification.new do |gem|
7
8
  gem.name = "blinkist-airbrake-scrubber"
8
9
  gem.version = Blinkist::AirbrakeScrubber::VERSION
9
- gem.authors = ["Paweł Komarnicki", "Dinesh Vasudevan", 'Tomek Przedmojski']
10
- gem.email = ["pawel@blinkist.com", "dinesh@blinkist.com", "tomek@blinkist.com"]
11
- gem.description = %q{Email scrubbing configuration for Airbrake at Blinkist}
12
- gem.summary = %q{With this, Airbrake will not leak emails via exception notifications}
10
+ gem.authors = ["Blinkist"]
11
+ gem.email = ["operations@blinkist.com"]
12
+ gem.description = 'Email scrubbing configuration for Airbrake at Blinkist'
13
+ gem.summary = 'With this, Airbrake will not leak emails via exception notifications'
13
14
  gem.homepage = "https://github.com/blinkist/airbrake-scrubber"
14
15
  gem.license = "MIT"
15
16
 
16
- # Airbrake
17
- gem.add_dependency "airbrake", "~> 9"
17
+ # https://github.com/airbrake/airbrake
18
+ gem.add_dependency "airbrake", ">= 9", "< 14"
18
19
 
19
20
  gem.files = Dir["{lib,spec}/**/*", "README.md", "Rakefile", "Gemfile", "*.gemspec"]
20
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
21
+ gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
21
22
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
22
23
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # DeepTraversal provides traverse possibility of Hashes
2
4
  # Can handle Hash objects with deep nesting, or other nested objects that can be dug deeper (e.g. Array)
3
5
  module Blinkist
@@ -20,17 +22,15 @@ module Blinkist
20
22
  input.map { |i| recursive_traverse(i, &block) }
21
23
 
22
24
  when Hash
23
- Hash[input.map { |key, value|
24
-
25
+ Hash[input.map do |key, value|
25
26
  # Go deeper for things that are not simple objects
26
27
  case value
27
28
  when Array, Hash
28
- [ key, recursive_traverse(value, &block) ]
29
+ [key, recursive_traverse(value, &block)]
29
30
  else
30
- [ key, block.call(key, value) ]
31
+ [key, block.call(key, value)]
31
32
  end
32
-
33
- }]
33
+ end]
34
34
  else
35
35
  input
36
36
  end
@@ -1,17 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Blinkist
2
4
  module AirbrakeScrubber
3
5
  class MessageEmail
4
- REGEXP = /[\S]+@[\S]+/i
6
+ REGEXP = /[\S]+@[\S]+/i.freeze
5
7
 
6
8
  def self.scrub!
7
9
  ::Airbrake.add_filter do |notice|
8
10
  # Cannot do gsub! coz of frozen literals
9
11
  notice[:errors].each { |error| error[:message] = scrub(error[:message]) }
10
12
  end
11
- end # def self.scrub!
13
+ end
12
14
 
13
15
  def self.scrub(message)
14
- message.gsub(REGEXP, FILTERED) if message
16
+ message&.gsub(REGEXP, FILTERED)
15
17
  end
16
18
 
17
19
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Blinkist
2
4
  module AirbrakeScrubber
3
5
  class ParamsEmail
@@ -10,7 +12,7 @@ module Blinkist
10
12
  end
11
13
  notice
12
14
  end
13
- end # def self.scrub!
15
+ end
14
16
 
15
17
  end
16
18
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Blinkist
2
4
  module AirbrakeScrubber
3
5
  class ParamsPassword
@@ -10,7 +12,7 @@ module Blinkist
10
12
  end
11
13
  notice
12
14
  end
13
- end # def self.scrub!
15
+ end
14
16
 
15
17
  end
16
18
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Blinkist
2
4
  module AirbrakeScrubber
3
5
  class ParamsTokens
@@ -5,12 +7,12 @@ module Blinkist
5
7
  def self.scrub!
6
8
  ::Airbrake.add_filter do |notice|
7
9
  notice[:params] = DeepTraversal.new(notice[:params]).traverse do |key, value|
8
- value = FILTERED if %w( facebook_access_token google_id_token ).include?(key.to_s)
10
+ value = FILTERED if %w[facebook_access_token google_id_token].include?(key.to_s)
9
11
  value
10
12
  end
11
13
  notice
12
14
  end
13
- end # def self.scrub!
15
+ end
14
16
 
15
17
  end
16
18
  end
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Blinkist
2
4
  module AirbrakeScrubber
3
5
 
4
- VERSION = "4.1.1"
6
+ VERSION = "5.0.0"
5
7
 
6
8
  end
7
9
  end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'airbrake'
2
- Dir[File.expand_path('../../lib/**/*.rb', __FILE__)].each do |f|
4
+ Dir[File.expand_path('../lib/**/*.rb', __dir__)].sort.each do |f|
3
5
  require f
4
6
  end
5
7
 
@@ -15,10 +17,10 @@ end
15
17
  module Blinkist
16
18
  module AirbrakeScrubber
17
19
  FILTERED = '[Filtered]'
18
- SCRUBBERS = [ MessageEmail, ParamsEmail, ParamsPassword, ParamsTokens ]
20
+ SCRUBBERS = [MessageEmail, ParamsEmail, ParamsPassword, ParamsTokens].freeze
19
21
 
20
22
  # Override original Airbrake.configure
21
- def configure(*args, &block)
23
+ def configure(*_args, &block)
22
24
  super(&block)
23
25
  ensure
24
26
  Blinkist::AirbrakeScrubber.run!
@@ -26,7 +28,7 @@ module Blinkist
26
28
 
27
29
  # Run scrubbers
28
30
  def self.run!
29
- SCRUBBERS.each { |scrubber| scrubber::scrub! }
31
+ SCRUBBERS.each(&:scrub!)
30
32
  end
31
33
 
32
34
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/setup'
2
4
 
3
5
  require 'awesome_print'
@@ -14,7 +16,7 @@ require 'blinkist-airbrake-scrubber'
14
16
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
15
17
  RSpec.configure do |config|
16
18
  config.color = true
17
- config.full_backtrace=true
19
+ config.full_backtrace = true
18
20
 
19
21
  config.expect_with :rspec do |expectations|
20
22
  expectations.syntax = :expect
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'blinkist-airbrake-scrubber'
3
5
 
4
6
  describe Airbrake do
5
7
  let(:instantiate_airbrake) {
6
- Airbrake.configure :"notifier_#{ SecureRandom.uuid }" do |c|
8
+ Airbrake.configure :"notifier_#{SecureRandom.uuid}" do |c|
7
9
  c.project_id = 1
8
10
  c.project_key = 'whatever'
9
11
  end
@@ -1,15 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'blinkist-airbrake-scrubber'
3
5
 
4
6
  describe Blinkist::AirbrakeScrubber::DeepTraversal do
5
7
  subject { described_class.new(source) }
6
8
 
7
- let(:source) { Hash.new }
9
+ let(:source) { {} }
8
10
 
9
11
  describe ".traverse" do
10
12
  it "calls .recursive_traverse" do
11
13
  expect(subject).to receive(:recursive_traverse).with(source)
12
- subject.traverse { |k, v| v }
14
+ subject.traverse { |_k, v| v }
13
15
  end
14
16
  end
15
17
 
@@ -22,7 +24,7 @@ describe Blinkist::AirbrakeScrubber::DeepTraversal do
22
24
  end
23
25
 
24
26
  it "filters out any keys" do
25
- returned_object = subject.traverse { |k, v| %w{ email password }.include?(k.to_s) ? '[Filtered]' : v }
27
+ returned_object = subject.traverse { |k, v| %w[email password].include?(k.to_s) ? '[Filtered]' : v }
26
28
  expect(returned_object).to eq({ email: '[Filtered]', password: '[Filtered]', param: true })
27
29
  end
28
30
  end
@@ -37,20 +39,20 @@ describe Blinkist::AirbrakeScrubber::DeepTraversal do
37
39
  end
38
40
 
39
41
  context "For hashes with arrays" do
40
- let(:source) { { email: 'user@example.org', emails: [ { email: 'user@example.org' }, { email: 'user@example.org' } ], whatever: [ nil ] } }
42
+ let(:source) { { email: 'user@example.org', emails: [{ email: 'user@example.org' }, { email: 'user@example.org' }], whatever: [nil] } }
41
43
 
42
44
  it "filters out all keys" do
43
45
  returned_object = subject.traverse { |k, v| k.to_s == 'email' ? '[Filtered]' : v }
44
- expect(returned_object).to eq({ email: '[Filtered]', emails: [ { email: '[Filtered]' }, { email: '[Filtered]' } ], whatever: [ nil ] })
46
+ expect(returned_object).to eq({ email: '[Filtered]', emails: [{ email: '[Filtered]' }, { email: '[Filtered]' }], whatever: [nil] })
45
47
  end
46
48
  end
47
49
 
48
50
  context "For arrays" do
49
- let(:source) { [ { email: 'user@example.org' }, { email: 'user@example.org' } ] }
51
+ let(:source) { [{ email: 'user@example.org' }, { email: 'user@example.org' }] }
50
52
 
51
53
  it "filters out all keys" do
52
54
  returned_object = subject.traverse { |k, v| k.to_s == 'email' ? '[Filtered]' : v }
53
- expect(returned_object).to eq([ { email: '[Filtered]' }, { email: '[Filtered]' } ])
55
+ expect(returned_object).to eq([{ email: '[Filtered]' }, { email: '[Filtered]' }])
54
56
  end
55
57
  end
56
58
 
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Blinkist::AirbrakeScrubber::MessageEmail do
4
-
5
6
  describe "Structure" do
6
7
  it "has REGEXP constant" do
7
8
  expect(described_class.constants).to include(:REGEXP)
@@ -13,7 +14,7 @@ describe Blinkist::AirbrakeScrubber::MessageEmail do
13
14
  end
14
15
 
15
16
  describe "self.scrub!" do
16
- subject { described_class::scrub! }
17
+ subject { described_class.scrub! }
17
18
 
18
19
  it "adds the filter" do
19
20
  expect(Airbrake).to receive(:add_filter)
@@ -27,21 +28,21 @@ describe Blinkist::AirbrakeScrubber::MessageEmail do
27
28
  let(:filtered) { Blinkist::AirbrakeScrubber::FILTERED }
28
29
  let(:regexp) { described_class::REGEXP }
29
30
 
30
- let(:valid_domains) { %w{ example.org exam-ple.org exam.ple.org e-xam.ple.org e-xam.p-le.org e.x.a.m.p.l.e.co.uk } }
31
- let(:valid_usernames) { %w{ username user.name user+name user-name user_name } }
31
+ let(:valid_domains) { %w[example.org exam-ple.org exam.ple.org e-xam.ple.org e-xam.p-le.org e.x.a.m.p.l.e.co.uk] }
32
+ let(:valid_usernames) { %w[username user.name user+name user-name user_name] }
32
33
  let(:valid_emails) { valid_usernames.product(valid_domains).map { |row| row.join '@' } }
33
- let(:invalid_emails) { %w{ user@example user@example. user!@example.org us@r@example.org us&r@example.com } }
34
+ let(:invalid_emails) { %w[user@example user@example. user!@example.org us@r@example.org us&r@example.com] }
34
35
 
35
36
  context "Pure email content" do
36
37
  it "filters out valid emails" do
37
- puts "Verifying: #{ valid_emails.join ', ' }"
38
+ puts "Verifying: #{valid_emails.join ', '}"
38
39
  valid_emails.each do |email|
39
40
  expect(described_class.scrub(email)).to eq(filtered)
40
41
  end
41
42
  end
42
43
 
43
44
  it "filters out invalid emails" do
44
- puts "Verifying: #{ invalid_emails.join ', ' }"
45
+ puts "Verifying: #{invalid_emails.join ', '}"
45
46
  invalid_emails.each do |email|
46
47
  expect(described_class.scrub(email)).to eq(filtered)
47
48
  end
@@ -52,7 +53,7 @@ describe Blinkist::AirbrakeScrubber::MessageEmail do
52
53
  let(:text) { "Erorr bla bla EMAIL bla bla bla" }
53
54
 
54
55
  it "filters out valid emails" do
55
- puts "Verifying: #{ valid_emails.join ', ' }"
56
+ puts "Verifying: #{valid_emails.join ', '}"
56
57
  valid_emails.each do |email|
57
58
  content = text.gsub('EMAIL', email)
58
59
  expect(described_class.scrub(content)).to eq(text.gsub('EMAIL', filtered))
@@ -60,7 +61,7 @@ describe Blinkist::AirbrakeScrubber::MessageEmail do
60
61
  end
61
62
 
62
63
  it "filters out invalid emails" do
63
- puts "Verifying: #{ invalid_emails.join ', ' }"
64
+ puts "Verifying: #{invalid_emails.join ', '}"
64
65
  invalid_emails.each do |email|
65
66
  content = text.gsub('EMAIL', email)
66
67
  expect(described_class.scrub(content)).to eq(text.gsub('EMAIL', filtered))
@@ -70,12 +71,11 @@ describe Blinkist::AirbrakeScrubber::MessageEmail do
70
71
 
71
72
  context "Anything that is a frozen string" do
72
73
  subject { described_class.scrub text }
73
- let(:text) { "Error bla bla bla test@example.org bla bla bla".freeze }
74
+ let(:text) { "Error bla bla bla test@example.org bla bla bla" }
74
75
 
75
76
  it "filters out email" do
76
77
  expect(subject).to eq(text.gsub('test@example.org', filtered))
77
78
  end
78
79
  end
79
80
  end
80
-
81
81
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Blinkist::AirbrakeScrubber::ParamsEmail do
@@ -17,7 +19,7 @@ describe Blinkist::AirbrakeScrubber::ParamsEmail do
17
19
  describe "self.scrub!" do
18
20
  it "adds the filter" do
19
21
  expect(Airbrake).to receive(:add_filter)
20
- described_class::scrub!
22
+ described_class.scrub!
21
23
  end
22
24
 
23
25
  it "scrubs the email from the params hash" do
@@ -36,5 +38,4 @@ describe Blinkist::AirbrakeScrubber::ParamsEmail do
36
38
  expect(notice[:params][:deeply][:nested][:email]).to eq(Blinkist::AirbrakeScrubber::FILTERED)
37
39
  end
38
40
  end
39
-
40
41
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Blinkist::AirbrakeScrubber::ParamsPassword do
@@ -17,7 +19,7 @@ describe Blinkist::AirbrakeScrubber::ParamsPassword do
17
19
  describe "self.scrub!" do
18
20
  it "adds the filter" do
19
21
  expect(Airbrake).to receive(:add_filter)
20
- described_class::scrub!
22
+ described_class.scrub!
21
23
  end
22
24
 
23
25
  it "scrubs the password from the params hash" do
@@ -36,5 +38,4 @@ describe Blinkist::AirbrakeScrubber::ParamsPassword do
36
38
  expect(notice[:params][:deeply][:nested][:password]).to eq(Blinkist::AirbrakeScrubber::FILTERED)
37
39
  end
38
40
  end
39
-
40
41
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Blinkist::AirbrakeScrubber::ParamsTokens do
@@ -17,7 +19,7 @@ describe Blinkist::AirbrakeScrubber::ParamsTokens do
17
19
  describe "self.scrub!" do
18
20
  it "adds the filter" do
19
21
  expect(Airbrake).to receive(:add_filter)
20
- described_class::scrub!
22
+ described_class.scrub!
21
23
  end
22
24
 
23
25
  it "scrubs the google_id_token from the params hash" do
@@ -52,5 +54,4 @@ describe Blinkist::AirbrakeScrubber::ParamsTokens do
52
54
  expect(notice[:params][:deeply][:nested][:facebook_access_token]).to eq(Blinkist::AirbrakeScrubber::FILTERED)
53
55
  end
54
56
  end
55
-
56
57
  end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'securerandom'
3
5
  require 'blinkist-airbrake-scrubber'
4
6
 
5
7
  describe Blinkist::AirbrakeScrubber do
6
8
  let(:instantiate_airbrake) {
7
- Airbrake.configure :"notifier_#{ SecureRandom.uuid }" do |c|
9
+ Airbrake.configure :"notifier_#{SecureRandom.uuid}" do |c|
8
10
  c.project_id = 1
9
11
  c.project_key = 'whatever'
10
12
  end
@@ -48,5 +50,4 @@ describe Blinkist::AirbrakeScrubber do
48
50
  instantiate_airbrake
49
51
  end
50
52
  end
51
-
52
53
  end
@@ -1,18 +1,17 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'spec_helper'
3
4
  require 'blinkist-airbrake-scrubber/version'
4
5
 
5
6
  describe Blinkist::AirbrakeScrubber::VERSION do
6
-
7
7
  it 'provides the current version' do
8
8
  version = Blinkist::AirbrakeScrubber::VERSION
9
9
  expect(version).to_not be nil
10
- expect(version.instance_of?(String)).to be true
10
+ expect(version).to be_a String
11
11
  end
12
12
 
13
- it 'equals 4.0.1 for auto-check purposes' do
13
+ it 'equals 5.0.0 for auto-check purposes' do
14
14
  version = Blinkist::AirbrakeScrubber::VERSION
15
- expect(version).to eq '4.1.1'
15
+ expect(version).to eq '5.0.0'
16
16
  end
17
-
18
17
  end
metadata CHANGED
@@ -1,36 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blinkist-airbrake-scrubber
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.1
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Paweł Komarnicki
8
- - Dinesh Vasudevan
9
- - Tomek Przedmojski
7
+ - Blinkist
10
8
  autorequire:
11
9
  bindir: bin
12
10
  cert_chain: []
13
- date: 2019-08-14 00:00:00.000000000 Z
11
+ date: 2022-01-19 00:00:00.000000000 Z
14
12
  dependencies:
15
13
  - !ruby/object:Gem::Dependency
16
14
  name: airbrake
17
15
  requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - "~>"
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '9'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '14'
22
23
  type: :runtime
23
24
  prerelease: false
24
25
  version_requirements: !ruby/object:Gem::Requirement
25
26
  requirements:
26
- - - "~>"
27
+ - - ">="
27
28
  - !ruby/object:Gem::Version
28
29
  version: '9'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '14'
29
33
  description: Email scrubbing configuration for Airbrake at Blinkist
30
34
  email:
31
- - pawel@blinkist.com
32
- - dinesh@blinkist.com
33
- - tomek@blinkist.com
35
+ - operations@blinkist.com
34
36
  executables: []
35
37
  extensions: []
36
38
  extra_rdoc_files: []
@@ -74,8 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
76
  - !ruby/object:Gem::Version
75
77
  version: '0'
76
78
  requirements: []
77
- rubyforge_project:
78
- rubygems_version: 2.7.6
79
+ rubygems_version: 3.2.32
79
80
  signing_key:
80
81
  specification_version: 4
81
82
  summary: With this, Airbrake will not leak emails via exception notifications