lograge-sql 1.0.0 → 1.1.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: 343ebf78f41cbfd1e384396332b6de047e2bfeba1dcf15e506031eb1011d61b5
4
- data.tar.gz: 9fa97f78afc6f171873dc9df135ed7a91de505f522fff56894e8903c0159a37f
3
+ metadata.gz: 11cea1c366c76e19619e78e5d957f863cefa1fd5ec55a2330242cde0a92adc42
4
+ data.tar.gz: 343afe00dbf0ef4755400c9c234c12cf60806572a723f825c75e36a9e78ecbb2
5
5
  SHA512:
6
- metadata.gz: 2a631a9bc6e7e209d23e9b05378e188fe00c29a449749d97ea372d8575b5ba868377ffa9151cd68f9ff6e063e0642abe8787b5076dada7e4991563a5578f65c5
7
- data.tar.gz: 3b8ba8654bdab6404862c8961d6f68c09af5c78ee7e3409e3f225e011c9e423dd312193459df7e55997e542892d56a3b5bd272b26797f071b08bf693f6f142fb
6
+ metadata.gz: af84fccad7b7f4f98e44b4dfbf7fe95c73adefd0e09c552d6a5b3857564b674b8d0a177d28c37f9a03d34348a467cd9ddbadd343f4954fd91f68a2870ba7d079
7
+ data.tar.gz: 47b359c21d2549d575b4f8eb672927da8ac1baaa4a719e738d7ce735a72503bc41da6260502fec8b8e540d75380af78f7c23cbc570ecfc8239882255675ea4d9
data/README.md CHANGED
@@ -33,7 +33,7 @@ Object Load (0.42) SELECT "objects.*" FROM "objects"
33
33
  Associations Load (0.42) SELECT "associations.*" FROM "associations" WHERE "associations"."object_id" = "$1"
34
34
  ```
35
35
 
36
- However, having `Lograge::Formatters::Json.new`, the relevant output is
36
+ However, having `Lograge::Formatters::Json.new`, the relevant output is
37
37
 
38
38
  ```json
39
39
  {
@@ -60,6 +60,9 @@ Rails.application.configure do
60
60
  end
61
61
  ```
62
62
 
63
+ #### Thread-safety
64
+
65
+ [Depending on the web server in your project](https://github.com/steveklabnik/request_store#the-problem) you might benefit from improved thread-safety by adding [`request_store`](https://github.com/steveklabnik/request_store) to your Gemfile. It will be automatically picked up by `lograge-sql`.
63
66
 
64
67
  ## Contributing
65
68
 
@@ -17,6 +17,10 @@ module Lograge
17
17
  Lograge::Sql.extract_event = config.extract_event || default_extract_event
18
18
  end
19
19
 
20
+ def store
21
+ defined?(RequestStore) ? RequestStore.store : Thread.current
22
+ end
23
+
20
24
  private
21
25
 
22
26
  # By default, the output is a concatenated string of all extracted events
@@ -11,10 +11,10 @@ module Lograge
11
11
 
12
12
  # Collects all SQL queries stored in the Thread during request processing
13
13
  def extract_sql_queries
14
- sql_queries = Thread.current[:lograge_sql_queries]
14
+ sql_queries = Lograge::Sql.store[:lograge_sql_queries]
15
15
  return {} unless sql_queries
16
16
 
17
- Thread.current[:lograge_sql_queries] = nil
17
+ Lograge::Sql.store[:lograge_sql_queries] = nil
18
18
  {
19
19
  sql_queries: Lograge::Sql.formatter.call(sql_queries),
20
20
  sql_queries_count: sql_queries.length
@@ -33,8 +33,8 @@ module Lograge
33
33
  ActiveRecord::LogSubscriber.runtime += event.duration
34
34
  return if event.payload[:name] == 'SCHEMA'
35
35
 
36
- Thread.current[:lograge_sql_queries] ||= []
37
- Thread.current[:lograge_sql_queries] << Lograge::Sql.extract_event.call(event)
36
+ Lograge::Sql.store[:lograge_sql_queries] ||= []
37
+ Lograge::Sql.store[:lograge_sql_queries] << Lograge::Sql.extract_event.call(event)
38
38
  end
39
39
  end
40
40
  end
@@ -3,6 +3,6 @@
3
3
  module Lograge
4
4
  module Sql
5
5
  # Gem version
6
- VERSION = '1.0.0'
6
+ VERSION = '1.1.0'
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lograge-sql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mattia Giuffrida
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-13 00:00:00.000000000 Z
11
+ date: 2019-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord