lograge-sql 1.0.0 → 1.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.
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