debugbundle 0.1.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.
Files changed (40) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +17 -0
  3. data/Makefile +43 -0
  4. data/README.md +168 -0
  5. data/debugbundle.gemspec +30 -0
  6. data/lib/debugbundle/client.rb +724 -0
  7. data/lib/debugbundle/config.rb +144 -0
  8. data/lib/debugbundle/logging.rb +77 -0
  9. data/lib/debugbundle/rack/middleware.rb +94 -0
  10. data/lib/debugbundle/rack/relay_middleware.rb +37 -0
  11. data/lib/debugbundle/rails/railtie.rb +35 -0
  12. data/lib/debugbundle/rails/relay_endpoint.rb +100 -0
  13. data/lib/debugbundle/rails.rb +10 -0
  14. data/lib/debugbundle/redaction.rb +151 -0
  15. data/lib/debugbundle/relay/handler.rb +231 -0
  16. data/lib/debugbundle/relay.rb +4 -0
  17. data/lib/debugbundle/remote_config.rb +153 -0
  18. data/lib/debugbundle/runtime.rb +22 -0
  19. data/lib/debugbundle/sidekiq/server_middleware.rb +34 -0
  20. data/lib/debugbundle/suppression.rb +121 -0
  21. data/lib/debugbundle/transport.rb +190 -0
  22. data/lib/debugbundle/trigger_token.rb +122 -0
  23. data/lib/debugbundle/version.rb +5 -0
  24. data/lib/debugbundle.rb +93 -0
  25. data/spec/client_spec.rb +236 -0
  26. data/spec/debugbundle_spec.rb +54 -0
  27. data/spec/file_transport_spec.rb +54 -0
  28. data/spec/logger_integration_spec.rb +118 -0
  29. data/spec/rack_integration_spec.rb +44 -0
  30. data/spec/rack_middleware_spec.rb +206 -0
  31. data/spec/rails_railtie_spec.rb +96 -0
  32. data/spec/rails_relay_spec.rb +121 -0
  33. data/spec/redaction_spec.rb +42 -0
  34. data/spec/relay_spec.rb +178 -0
  35. data/spec/remote_config_spec.rb +402 -0
  36. data/spec/sidekiq_integration_spec.rb +66 -0
  37. data/spec/sidekiq_middleware_spec.rb +50 -0
  38. data/spec/spec_helper.rb +20 -0
  39. data/spec/suppression_spec.rb +16 -0
  40. metadata +113 -0
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'simplecov'
4
+
5
+ SimpleCov.start do
6
+ add_filter '/spec/'
7
+
8
+ minimum_coverage_threshold = ENV.fetch('SIMPLECOV_MINIMUM_COVERAGE', '80').to_i
9
+ minimum_coverage minimum_coverage_threshold if minimum_coverage_threshold.positive?
10
+ end
11
+
12
+ require 'debugbundle'
13
+
14
+ RSpec.configure do |config|
15
+ config.disable_monkey_patching!
16
+ config.example_status_persistence_file_path = '.rspec_status'
17
+ config.expect_with :rspec do |expectations|
18
+ expectations.syntax = :expect
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe DebugBundle::Suppression::Tracker do
6
+ it 'allows the first three identical events and then suppresses' do
7
+ tracker = described_class.new
8
+
9
+ captures = 5.times.map { |index| tracker.should_capture('same-error', now: index.to_f) }
10
+ aggregates = tracker.drain_aggregates(now: 5.0)
11
+
12
+ expect(captures).to eq([true, true, true, false, false])
13
+ expect(aggregates.length).to eq(1)
14
+ expect(aggregates.fetch(0)).to include('suppressed_count' => 2)
15
+ end
16
+ end
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: debugbundle
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - DebugBundle
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2026-05-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: base64
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: logger
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ description: Production-ready error, request, log, and probe capture for Ruby services.
42
+ email:
43
+ - support@debugbundle.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - Gemfile
49
+ - Makefile
50
+ - README.md
51
+ - debugbundle.gemspec
52
+ - lib/debugbundle.rb
53
+ - lib/debugbundle/client.rb
54
+ - lib/debugbundle/config.rb
55
+ - lib/debugbundle/logging.rb
56
+ - lib/debugbundle/rack/middleware.rb
57
+ - lib/debugbundle/rack/relay_middleware.rb
58
+ - lib/debugbundle/rails.rb
59
+ - lib/debugbundle/rails/railtie.rb
60
+ - lib/debugbundle/rails/relay_endpoint.rb
61
+ - lib/debugbundle/redaction.rb
62
+ - lib/debugbundle/relay.rb
63
+ - lib/debugbundle/relay/handler.rb
64
+ - lib/debugbundle/remote_config.rb
65
+ - lib/debugbundle/runtime.rb
66
+ - lib/debugbundle/sidekiq/server_middleware.rb
67
+ - lib/debugbundle/suppression.rb
68
+ - lib/debugbundle/transport.rb
69
+ - lib/debugbundle/trigger_token.rb
70
+ - lib/debugbundle/version.rb
71
+ - spec/client_spec.rb
72
+ - spec/debugbundle_spec.rb
73
+ - spec/file_transport_spec.rb
74
+ - spec/logger_integration_spec.rb
75
+ - spec/rack_integration_spec.rb
76
+ - spec/rack_middleware_spec.rb
77
+ - spec/rails_railtie_spec.rb
78
+ - spec/rails_relay_spec.rb
79
+ - spec/redaction_spec.rb
80
+ - spec/relay_spec.rb
81
+ - spec/remote_config_spec.rb
82
+ - spec/sidekiq_integration_spec.rb
83
+ - spec/sidekiq_middleware_spec.rb
84
+ - spec/spec_helper.rb
85
+ - spec/suppression_spec.rb
86
+ homepage: https://debugbundle.com/docs/sdks/ruby
87
+ licenses:
88
+ - AGPL-3.0-only
89
+ metadata:
90
+ homepage_uri: https://debugbundle.com/docs/sdks/ruby
91
+ source_code_uri: https://github.com/debugbundle/debugbundle-ruby
92
+ changelog_uri: https://github.com/debugbundle/debugbundle-ruby/blob/main/CHANGELOG.md
93
+ rubygems_mfa_required: 'true'
94
+ post_install_message:
95
+ rdoc_options: []
96
+ require_paths:
97
+ - lib
98
+ required_ruby_version: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '3.1'
103
+ required_rubygems_version: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
108
+ requirements: []
109
+ rubygems_version: 3.4.19
110
+ signing_key:
111
+ specification_version: 4
112
+ summary: DebugBundle SDK for Ruby
113
+ test_files: []