memolog 0.2.2 → 0.3.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: ef343d2ff0a1ab1ab1332a21933ae4d61c8f886eb7cb6915bc02b7f32b1a76a5
4
- data.tar.gz: 5b30e29938609d8f4d6e4c2eedeca67abc1c8489af5031734f18336a6adaaa7e
3
+ metadata.gz: e99e3c68b6d46dff6769d0526a9b9638d6ddf479665929a8e03dddb5eeddf618
4
+ data.tar.gz: f7221b929323ff44066403d01a3f02eefb6dd8302c882a2a78df43776acdc03b
5
5
  SHA512:
6
- metadata.gz: 76117086fd0ab8d3de08e545281812d7fdf7c0f222271210ef9ebcd8b32cb6b6d862bed851673c30b933672632d6541b722c3062bee9a3b98218e8d6e79ace16
7
- data.tar.gz: 7a0e09ad5f7998eacdc9adfd55927b660d585c003ef12fc9aea44fb7920f4f306441dfe0d95b69a0b7264a4086cf183b551b3704baf3133ac8f3b3aa387829b7
6
+ metadata.gz: 35f308119cb2c44d09974ce1f9fda973e648212aefb36d6256678d0b281de6784be265bc87781b55f3aa05d5a3d6ddfdd60beb86e77420f629fab02e72e87be7
7
+ data.tar.gz: 3a82f19378b63f47ffcd9ad512ee44a2daa4769ffdaed6b01cd90e867e3cea31c200d264820f91af8307f0e43bb3a2c03944aa0d107bd2beeb6e6464a46cb8c7
data/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ ## 0.3.0
2
+
3
+ - Apply a prepend patch with `Sentry::Scope#apply_to_event` method.
4
+ - Check constant definition via `Object.const_defined?`
5
+ - Moving `Sentry::Sidekiq` scheme to monkey patch `Sentry::Sidekiq::SentryContextServerMiddleware`
6
+ - More specs
7
+
8
+ ## 0.2.2
9
+
10
+ - Do not init Rails middleware in Sidekiq server.
11
+
1
12
  ## 0.2.1
2
13
 
3
14
  - Better Rails middleware initialization.
data/Gemfile CHANGED
@@ -11,4 +11,5 @@ gem "rake"
11
11
  gem "rspec"
12
12
  gem "rubocop-config-umbrellio"
13
13
  gem "sentry-ruby"
14
+ gem "sentry-sidekiq"
14
15
  gem "sidekiq"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- memolog (0.2.2)
4
+ memolog (0.3.0)
5
5
  logger (~> 1.4.3)
6
6
  securerandom (~> 0.1.0)
7
7
 
@@ -98,7 +98,7 @@ GEM
98
98
  activesupport (>= 5.0)
99
99
  i18n (1.8.10)
100
100
  concurrent-ruby (~> 1.0)
101
- logger (1.4.3)
101
+ logger (1.4.4)
102
102
  loofah (2.12.0)
103
103
  crass (~> 1.0.2)
104
104
  nokogiri (>= 1.5.9)
@@ -202,7 +202,7 @@ GEM
202
202
  rubocop (~> 1.0)
203
203
  ruby-progressbar (1.11.0)
204
204
  ruby2_keywords (0.0.5)
205
- securerandom (0.1.0)
205
+ securerandom (0.1.1)
206
206
  sentry-ruby (4.7.3)
207
207
  concurrent-ruby (~> 1.0, >= 1.0.2)
208
208
  faraday (>= 1.0)
@@ -210,6 +210,9 @@ GEM
210
210
  sentry-ruby-core (4.7.3)
211
211
  concurrent-ruby
212
212
  faraday
213
+ sentry-sidekiq (4.7.3)
214
+ sentry-ruby-core (~> 4.7.0)
215
+ sidekiq (>= 3.0)
213
216
  sidekiq (6.2.2)
214
217
  connection_pool (>= 2.2.2)
215
218
  rack (~> 2.0)
@@ -242,6 +245,7 @@ DEPENDENCIES
242
245
  rspec
243
246
  rubocop-config-umbrellio
244
247
  sentry-ruby
248
+ sentry-sidekiq
245
249
  sidekiq
246
250
 
247
251
  BUNDLED WITH
data/lib/memolog/init.rb CHANGED
@@ -10,24 +10,26 @@ class Memolog::Init
10
10
  private
11
11
 
12
12
  def init_rails!
13
- return unless defined?(Rails) && Memolog.config.initializers.include?(:rails)
14
- return if defined?(Sidekiq) && Sidekiq.server?
13
+ return unless Memolog.config.initializers.include?(:rails)
14
+ return unless Object.const_defined?("Rails")
15
+ return if Object.const_defined?("Sidekiq") && Sidekiq.server?
15
16
 
16
17
  Rails.application.middleware.insert_before(0, Memolog::Middleware)
17
18
  end
18
19
 
19
20
  def init_sentry!
20
- return unless defined?(Sentry::Scope) && Memolog.config.initializers.include?(:sentry)
21
+ return unless Memolog.config.initializers.include?(:sentry)
22
+ return unless Object.const_defined?("Sentry::Scope")
23
+
21
24
  Sentry::Scope.prepend(Memolog::SentryScopeExtension)
22
25
  end
23
26
 
24
27
  def init_sidekiq!
25
- return unless defined?(Sidekiq) && Memolog.config.initializers.include?(:sidekiq)
28
+ return unless Memolog.config.initializers.include?(:sidekiq)
29
+ return unless Object.const_defined?("Sentry::Sidekiq::SentryContextServerMiddleware")
26
30
 
27
- Sidekiq.configure_server do |config|
28
- config.server_middleware do |chain|
29
- chain.prepend(Memolog::SentrySidekiqMiddleware)
30
- end
31
- end
31
+ Sentry::Sidekiq::SentryContextServerMiddleware.prepend(
32
+ Memolog::SentrySidekiqMiddlewareExtension,
33
+ )
32
34
  end
33
35
  end
@@ -1,8 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Memolog::SentryScopeExtension
4
- def extra
4
+ def apply_to_event(scope, hint = nil)
5
5
  memolog_dump = Memolog.dump
6
- memolog_dump.present? ? super.merge!(Memolog.config.sentry_key => memolog_dump) : super
6
+ set_extras(Memolog.config.sentry_key => memolog_dump) if memolog_dump
7
+
8
+ super
7
9
  end
8
10
  end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Memolog::SentrySidekiqMiddlewareExtension
4
+ def call(worker, job, queue)
5
+ Memolog.run { super }
6
+ end
7
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Memolog
4
- VERSION = "0.2.2"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/memolog.rb CHANGED
@@ -11,7 +11,7 @@ require "memolog/formatter"
11
11
  require "memolog/init"
12
12
  require "memolog/middleware"
13
13
  require "memolog/sentry_scope_extension"
14
- require "memolog/sentry_sidekiq_middleware"
14
+ require "memolog/sentry_sidekiq_middleware_extension"
15
15
 
16
16
  module Memolog
17
17
  extend self
@@ -59,6 +59,6 @@ module Memolog
59
59
  beginning = logdevs.last.string.length - config.log_size_limit
60
60
  beginning = 0 if beginning.negative?
61
61
 
62
- logdevs.last.string.slice(beginning, config.log_size_limit)
62
+ logdevs.last.string.slice(beginning, config.log_size_limit).presence
63
63
  end
64
64
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memolog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stepan Kirushkin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-04 00:00:00.000000000 Z
11
+ date: 2021-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logger
@@ -66,7 +66,7 @@ files:
66
66
  - lib/memolog/init.rb
67
67
  - lib/memolog/middleware.rb
68
68
  - lib/memolog/sentry_scope_extension.rb
69
- - lib/memolog/sentry_sidekiq_middleware.rb
69
+ - lib/memolog/sentry_sidekiq_middleware_extension.rb
70
70
  - lib/memolog/version.rb
71
71
  homepage: https://github.com/skirushkin/memolog
72
72
  licenses:
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Memolog::SentrySidekiqMiddleware
4
- def call(*)
5
- Memolog.run do
6
- yield
7
- rescue => error
8
- memolog_dump = Memolog.dump
9
- Sentry.set_extras(Memolog.config.sentry_key => memolog_dump) if memolog_dump
10
- raise error
11
- end
12
- end
13
- end