memolog 0.2.2 → 0.3.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: 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