sequel-activerecord_connection 1.2.3 → 1.2.7

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: f0de933805c130dcc42783bcf606f70e99a00346e58286d3bdfbb94ae8922c09
4
- data.tar.gz: b60f70b511d83bbac70bcf6a48c99a20af23d58cc6f9d787db0cfccb11a67f85
3
+ metadata.gz: 4618dbde61b958267d7aa3b2e5e8c18d2dfd55207c8dcb9b3a0a9db4c8ca4b2b
4
+ data.tar.gz: 1c84a6e396817472d844739c24046df8cf83d6488a1a95f948677be228e05b13
5
5
  SHA512:
6
- metadata.gz: 4b1f0f3f9f287609eb9f38ea215bdb873624cd4a66ea17c15867ae6a47808902330beaf4c1be09eb459e0b681daffb829812aa7125a4d565aab050e0df4c74ae
7
- data.tar.gz: 3647bec71180cf1af65b8379fcfc6eb924b8fffbd4a575a97399e0a9096e77afbc3f1863095c6ce229a05c81b559a2a63a59df91c46cd4bb47d73c10e57c0b4b
6
+ metadata.gz: ae70b61b0f8b94d8eb6130c281515c490b9e80794d6081797a55a216f03296a5531d0993c09997603ac20d4eb7d448f5880e650f231f1968d159f9331ecd50d1
7
+ data.tar.gz: 1789fc025d079f5415d11f08590b00e7e9ff322587160c7ab9d123d1ceb598fd315ad730ed4642d99b51c80ba34fb386a5c507c0bf6d3c909ce0232bbc7e8852
data/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## 1.2.7 (2022-01-20)
2
+
3
+ * Require Sequel 3.38+ (@janko)
4
+
5
+ ## 1.2.6 (2021-12-26)
6
+
7
+ * Speed up connection access by avoiding checking Active Record version at runtime (@janko)
8
+
9
+ ## 1.2.5 (2021-12-19)
10
+
11
+ * Loosen Active Record dependency to allow any 7.x version (@janko)
12
+
13
+ * Drop support for Ruby 2.3 (@janko)
14
+
15
+ * Allow using the `sql_log_normalizer` Sequel database extension (@janko)
16
+
17
+ ## 1.2.4 (2021-09-27)
18
+
19
+ * Allow using with Active Record 7.0 (@janko)
20
+
21
+ * Use `ActiveRecord.default_timezone` on Active Record 7.0 or greater (@janko)
22
+
1
23
  ## 1.2.3 (2021-07-17)
2
24
 
3
25
  * Bump `after_commit_everywhere` dependency to `~> 1.0` (@wivarn)
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2020 Janko Marohnić
3
+ Copyright (c) 2020-2022 Janko Marohnić
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -13,8 +13,6 @@ module Sequel
13
13
  serializable: :serializable,
14
14
  }
15
15
 
16
- ACTIVERECORD_CALLBACKS = Object.new.extend(AfterCommitEverywhere)
17
-
18
16
  def self.extended(db)
19
17
  db.activerecord_model = ActiveRecord::Base
20
18
  db.opts[:test] = false unless db.opts.key?(:test)
@@ -50,7 +48,7 @@ module Sequel
50
48
 
51
49
  # Match database timezone with Active Record.
52
50
  def timezone
53
- @timezone || ActiveRecord::Base.default_timezone
51
+ @timezone || activerecord_timezone
54
52
  end
55
53
 
56
54
  private
@@ -108,7 +106,7 @@ module Sequel
108
106
  # after_commit_everywhere gem.
109
107
  def add_transaction_hook(conn, type, block)
110
108
  if _trans(conn)[:activerecord]
111
- ACTIVERECORD_CALLBACKS.public_send(type, &block)
109
+ AfterCommitEverywhere.public_send(type, &block)
112
110
  else
113
111
  super
114
112
  end
@@ -120,23 +118,33 @@ module Sequel
120
118
  # after_commit_everywhere gem.
121
119
  def add_savepoint_hook(conn, type, block)
122
120
  if _trans(conn)[:savepoints].last[:activerecord]
123
- ACTIVERECORD_CALLBACKS.public_send(type, &block)
121
+ AfterCommitEverywhere.public_send(type, &block)
124
122
  else
125
123
  super
126
124
  end
127
125
  end
128
126
 
127
+ # Prevents sql_log_normalizer DB extension from skipping the normalization.
128
+ def skip_logging?
129
+ return false if @loaded_extensions.include?(:sql_log_normalizer)
130
+ super
131
+ end
132
+
129
133
  # Active Record doesn't guarantee that a single connection can only be used
130
134
  # by one thread at a time, so we need to use locking, which is what Active
131
135
  # Record does internally as well.
132
- def activerecord_lock
133
- return yield if ActiveRecord.version < Gem::Version.new("5.1.0")
134
-
135
- activerecord_connection.lock.synchronize do
136
- ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
137
- yield
136
+ if ActiveRecord.version >= Gem::Version.new("5.1.0")
137
+ def activerecord_lock
138
+ activerecord_connection.lock.synchronize do
139
+ ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
140
+ yield
141
+ end
138
142
  end
139
143
  end
144
+ else
145
+ def activerecord_lock
146
+ yield
147
+ end
140
148
  end
141
149
 
142
150
  def activerecord_connection
@@ -152,6 +160,16 @@ module Sequel
152
160
  &block
153
161
  )
154
162
  end
163
+
164
+ if ActiveRecord.version >= Gem::Version.new("7.0")
165
+ def activerecord_timezone
166
+ ActiveRecord.default_timezone
167
+ end
168
+ else
169
+ def activerecord_timezone
170
+ ActiveRecord::Base.default_timezone
171
+ end
172
+ end
155
173
  end
156
174
 
157
175
  Database.register_extension(:activerecord_connection, ActiveRecordConnection)
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "sequel-activerecord_connection"
3
- spec.version = "1.2.3"
3
+ spec.version = "1.2.7"
4
4
  spec.authors = ["Janko Marohnić"]
5
5
  spec.email = ["janko.marohnic@gmail.com"]
6
6
 
@@ -9,15 +9,14 @@ Gem::Specification.new do |spec|
9
9
  spec.homepage = "https://github.com/janko/sequel-activerecord_connection"
10
10
  spec.license = "MIT"
11
11
 
12
- spec.required_ruby_version = ">= 2.3"
12
+ spec.required_ruby_version = ">= 2.4"
13
13
 
14
- spec.add_dependency "sequel", "~> 5.16"
15
- spec.add_dependency "activerecord", ">= 4.2", "< 7"
16
- spec.add_dependency "after_commit_everywhere", "~> 1.0"
14
+ spec.add_dependency "sequel", "~> 5.38"
15
+ spec.add_dependency "activerecord", ">= 4.2", "< 8"
16
+ spec.add_dependency "after_commit_everywhere", "~> 1.1"
17
17
 
18
- spec.add_development_dependency "sequel", "~> 5.38"
19
18
  spec.add_development_dependency "minitest"
20
- spec.add_development_dependency "warning" if RUBY_VERSION >= "2.4"
19
+ spec.add_development_dependency "warning"
21
20
 
22
21
  spec.files = Dir["README.md", "LICENSE.txt", "CHANGELOG.md", "lib/**/*.rb", "*.gemspec"]
23
22
  spec.require_paths = ["lib"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel-activerecord_connection
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Janko Marohnić
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-17 00:00:00.000000000 Z
11
+ date: 2022-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.16'
19
+ version: '5.38'
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
- version: '5.16'
26
+ version: '5.38'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '4.2'
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '7'
36
+ version: '8'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,35 +43,21 @@ dependencies:
43
43
  version: '4.2'
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: '7'
46
+ version: '8'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: after_commit_everywhere
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '1.0'
53
+ version: '1.1'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '1.0'
61
- - !ruby/object:Gem::Dependency
62
- name: sequel
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '5.38'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '5.38'
60
+ version: '1.1'
75
61
  - !ruby/object:Gem::Dependency
76
62
  name: minitest
77
63
  requirement: !ruby/object:Gem::Requirement
@@ -131,7 +117,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
131
117
  requirements:
132
118
  - - ">="
133
119
  - !ruby/object:Gem::Version
134
- version: '2.3'
120
+ version: '2.4'
135
121
  required_rubygems_version: !ruby/object:Gem::Requirement
136
122
  requirements:
137
123
  - - ">="