activerecord-transaction_subscriber 0.1.1 → 0.1.3

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: 9881885062f374f29e57fd75227b0b21a1327586e0aa066a0284f15ceb1ad8f7
4
- data.tar.gz: 65f9b1dd002cbea6bb89bdc01476cd877877b44ba097e73653c6992797271137
3
+ metadata.gz: 1390a414cdcade726071ee89877878015c09e15ebd9d00638c44bf8159fa9b00
4
+ data.tar.gz: c3d296d57c029879dfa9357f8c4088d29403762749e968eb22dfe8498a300393
5
5
  SHA512:
6
- metadata.gz: e98d8810c0586669743e72af298e4d9c5391c899e44145457047ad4b9dbe417c88e735f56496de3fcfc89a65059610f7c36f5e84c572f86350186a2b4c2132f1
7
- data.tar.gz: 982d2e43ce6d789fe1a3ac5162b5a358bce023a24b0c33574e6a49e759bc5f5fa79f98cce70dcca067b900ae3c5bf867e8268a06e60c340f1ce0d78fa9fe4eda
6
+ metadata.gz: a8bec2b5d384ff332c7e2a8fd43b7d8ec08c928ce6c97d3c11b8b54690266842589e872e6aa5b90a5bd9a7cb82aa32b596cd4212b21ee1f347c596f70ff557b7
7
+ data.tar.gz: 704810d08dc109dfd16fe7498dd237f969520b01028daef09886c16216397c77a6d338669694f96ad7a1770c4a07139edfe78bc1f00d129d09a656a967440495
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.1.3] - 2023-09-15
4
+
5
+ - Add ActiveRecord::LogSubscriber
6
+ - Show SQL statement
7
+
8
+ ## [0.1.2] - 2023-09-15
9
+
10
+ - Relaxed ActiveRecord version restrictions
11
+
3
12
  ## [0.1.1] - 2023-08-22
4
13
 
5
14
  - Delete unnecessary files
@@ -1,7 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'active_record'
4
+ require 'active_record/log_subscriber'
5
+
3
6
  module ActiveRecord
4
- class TransactionSubscriber
5
- VERSION = "0.1.1"
7
+ class TransactionSubscriber < LogSubscriber
8
+ VERSION = '0.1.3'
6
9
  end
7
10
  end
@@ -1,26 +1,29 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "transaction_subscriber/version"
3
+ require 'active_record'
4
+ require 'active_record/log_subscriber'
5
+
6
+ require_relative 'transaction_subscriber/version'
4
7
 
5
8
  module ActiveRecord
6
- class TransactionSubscriber < ActiveRecord::LogSubscriber
9
+ class TransactionSubscriber < LogSubscriber
7
10
  thread_mattr_accessor :transactions
8
11
 
9
12
  def sql(event)
10
13
  payload = event.payload
11
14
  return if payload[:cached]
12
15
 
13
- sql = payload[:sql]
16
+ sql_statement = payload[:sql]
14
17
 
15
18
  case payload[:name]
16
19
  when 'TRANSACTION'
17
- case sql
20
+ case sql_statement
18
21
  when 'BEGIN', 'SAVEPOINT'
19
22
  my_transactions << { start_at: event.time }
20
23
  when 'COMMIT', 'ROLLBACK'
21
24
  tx = my_transactions.pop
22
25
  if tx
23
- logging(payload[:name], tx, event.end)
26
+ logging(sql_statement, tx, event.end)
24
27
  end
25
28
  else
26
29
  # Unknown transaction
@@ -30,7 +33,7 @@ module ActiveRecord
30
33
  else
31
34
  tx = my_transactions.last
32
35
  if tx
33
- type = sql_type(sql)
36
+ type = sql_type(sql_statement)
34
37
  if type
35
38
  tx[type] ||= []
36
39
  tx[type] << event.duration
@@ -43,9 +46,9 @@ module ActiveRecord
43
46
  self.class.transactions ||= []
44
47
  end
45
48
 
46
- def logging(name, tx, end_at)
49
+ def logging(sql_statement, tx, end_at)
47
50
  elapsed_time = ((end_at - tx[:start_at]) * 1000.0).round(1)
48
- text = " Transaction #{name} real time: #{elapsed_time}ms"
51
+ text = " Transaction #{sql_statement} real time: #{elapsed_time}ms"
49
52
  %i[lock select insert update delete].each do |type|
50
53
  next unless tx[type]
51
54
  count = tx[type].size
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-transaction_subscriber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ueda Satoshi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-14 00:00:00.000000000 Z
11
+ date: 2023-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '5.0'
27
27
  description: The number of queries executed in a transaction, the execution time,