marginalia 1.8.0 → 1.9.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
- SHA1:
3
- metadata.gz: d2bf4536bf33fce1b7c806d0b2fec3cbe221b166
4
- data.tar.gz: ed2d7dfeac456ce8a9f63f5257e63e7d05526f6d
2
+ SHA256:
3
+ metadata.gz: 31ba959aad96344c36a5044e5eed7affc9e837c1ebf6fefe204dc401e3c02cff
4
+ data.tar.gz: 5c84a52e9828ff87940bad7ca82ba495f59159fd2154793cc4eeafaacd47da50
5
5
  SHA512:
6
- metadata.gz: 255f216a7e47faa1a4d5e36f38a922d6abca36ce2f3a9c3189f2849a50c543237c9be76c1bf8abe9064f1b97d0c9d78379883271405e3e3781359be22ec08ed3
7
- data.tar.gz: 0983b7a057ecb4cf56cd031572d6f498c8906daf8b7f67b8a5d7a9e7944128d23d27f78b8020d93c52ef5f6670d127e1a1c47da4aee6d96df1a7b0104f65887f
6
+ metadata.gz: 422739201b1a3e455b233d37500795fb80c4d92e167e4f5c8b7f70a9ee9f5db510fcee7e6623cdea951a8c8db7929b0ce8fcf2fcc5f7fbc15af8c8cd2445a45a
7
+ data.tar.gz: f89615ffdfd2cdffe9cef3edabbaf7bc2a9f5fb4124ec03cb3b402a0a0f1368c1616ade7b2f8a18d2292324d9e63589a70b366f1fb1ec7bc72a4ce8a90f498e4
@@ -1,11 +1,19 @@
1
1
  language: ruby
2
2
  sudo: false
3
3
 
4
+ services:
5
+ - mysql
6
+ - postgresql
7
+
4
8
  rvm:
5
9
  - 2.2
6
10
  - 2.3
7
11
  - 2.4
8
12
 
13
+ services:
14
+ - mysql
15
+ - postgresql
16
+
9
17
  script: "bundle exec rake db:reset test:all"
10
18
 
11
19
  gemfile:
@@ -76,9 +76,9 @@ module Marginalia
76
76
  end
77
77
 
78
78
  if ActiveRecord::VERSION::MAJOR >= 5
79
- def exec_query_with_marginalia(sql, name = 'SQL', binds = [], options = {})
79
+ def exec_query_with_marginalia(sql, name = 'SQL', binds = [], **options)
80
80
  options[:prepare] ||= false
81
- exec_query_without_marginalia(annotate_sql(sql), name, binds, options)
81
+ exec_query_without_marginalia(annotate_sql(sql), name, binds, **options)
82
82
  end
83
83
  end
84
84
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'socket'
2
4
 
3
5
  module Marginalia
@@ -18,11 +20,11 @@ module Marginalia
18
20
  end
19
21
 
20
22
  def self.construct_comment
21
- ret = ''
23
+ ret = String.new
22
24
  self.components.each do |c|
23
25
  component_value = self.send(c)
24
26
  if component_value.present?
25
- ret << "#{c.to_s}:#{component_value.to_s},"
27
+ ret << "#{c}:#{component_value},"
26
28
  end
27
29
  end
28
30
  ret.chop!
@@ -102,11 +104,12 @@ module Marginalia
102
104
  end
103
105
 
104
106
  def self.sidekiq_job
105
- marginalia_job["class"] if marginalia_job
107
+ marginalia_job["class"] if marginalia_job && marginalia_job.respond_to?(:[])
106
108
  end
107
109
 
108
110
  def self.line
109
- Marginalia::Comment.lines_to_ignore ||= /\.rvm|gem|vendor\/|marginalia|rbenv/
111
+ Marginalia::Comment.lines_to_ignore ||= /\.rvm|gem|vendor\/|marginalia|rbenv|monitor\.rb.*mon_synchronize/
112
+
110
113
  last_line = caller.detect do |line|
111
114
  line !~ Marginalia::Comment.lines_to_ignore
112
115
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |gem|
2
2
  gem.authors = ["Noah Lorang", "Nick Quaranto", "Taylor Weibley"]
3
- gem.email = ["noah@37signals.com", "arthurnn@github.com"]
3
+ gem.email = ["arthurnn@github.com"]
4
4
  gem.homepage = "https://github.com/basecamp/marginalia"
5
5
 
6
6
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
@@ -8,7 +8,7 @@ Gem::Specification.new do |gem|
8
8
  gem.test_files = `git ls-files -- {test}/*`.split("\n")
9
9
  gem.name = "marginalia"
10
10
  gem.require_paths = ["lib"]
11
- gem.version = "1.8.0"
11
+ gem.version = "1.9.0"
12
12
  gem.license = "MIT"
13
13
 
14
14
  gem.add_runtime_dependency "actionpack", ">= 2.3"
@@ -121,6 +121,7 @@ class MarginaliaTest < MiniTest::Test
121
121
  @queries << args.last[:sql]
122
122
  end
123
123
  @env = Rack::MockRequest.env_for('/')
124
+ ActiveJob::Base.queue_adapter = :inline
124
125
  end
125
126
 
126
127
  def test_double_annotate
@@ -282,6 +283,15 @@ class MarginaliaTest < MiniTest::Test
282
283
  Post.first
283
284
  refute_match %{job:PostsJob}, @queries.last
284
285
  end
286
+
287
+ def test_active_job_with_sidekiq
288
+ Marginalia::Comment.components = [:job, :sidekiq_job]
289
+ PostsJob.perform_later
290
+ assert_match %{job:PostsJob}, @queries.first
291
+
292
+ Post.first
293
+ refute_match %{job:PostsJob}, @queries.last
294
+ end
285
295
  end
286
296
 
287
297
  def test_sidekiq_job
@@ -290,13 +300,14 @@ class MarginaliaTest < MiniTest::Test
290
300
 
291
301
  # Test harness does not run Sidekiq middlewares by default so include testing middleware.
292
302
  Sidekiq::Testing.server_middleware do |chain|
293
- chain.add Marginalia::SidekiqInstrumentation::Middleware
303
+ chain.add Marginalia::SidekiqInstrumentation::Middleware
294
304
  end
295
305
 
296
306
  Sidekiq::Testing.fake!
297
307
  PostsSidekiqJob.perform_async
298
308
  PostsSidekiqJob.drain
299
309
  assert_match %{sidekiq_job:PostsSidekiqJob}, @queries.first
310
+
300
311
  Post.first
301
312
  refute_match %{sidekiq_job:PostsSidekiqJob}, @queries.last
302
313
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marginalia
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noah Lorang
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-03-25 00:00:00.000000000 Z
13
+ date: 2020-08-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: actionpack
@@ -140,7 +140,6 @@ dependencies:
140
140
  version: '0'
141
141
  description: Attach comments to your ActiveRecord queries.
142
142
  email:
143
- - noah@37signals.com
144
143
  - arthurnn@github.com
145
144
  executables: []
146
145
  extensions: []
@@ -184,8 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
183
  - !ruby/object:Gem::Version
185
184
  version: '0'
186
185
  requirements: []
187
- rubyforge_project:
188
- rubygems_version: 2.4.5.1
186
+ rubygems_version: 3.1.2
189
187
  signing_key:
190
188
  specification_version: 4
191
189
  summary: Attach comments to your ActiveRecord queries.