sequel-activerecord_connection 1.2.2 → 1.2.6
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 +4 -4
- data/CHANGELOG.md +22 -0
- data/lib/sequel/extensions/activerecord_connection.rb +29 -11
- data/sequel-activerecord_connection.gemspec +5 -5
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa32893e39b55c6e2b8186c216645a4cccfa7e865795e390656ebac83d5ecd1d
|
4
|
+
data.tar.gz: c8d6ba5b2958de6e8e3d687c75f4a51a60c863a1728de525ef222650cd34b490
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fba2ec585154bfd9477b2ace86b7c6b6b36cc5b4ba11f21a62bde593b1c8069858fb33d4984dced898b02a831f75fd2219c43adb26d67b93d17ce0313965c30a
|
7
|
+
data.tar.gz: 685f0dd698849465d1902ee7cd4432d2de6ea25f7791707a6defae8f32ff0e66713a4f391573924e79dfe3f91723fa564083b1dbefbf2c2986047205fe024aec
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
## 1.2.6 (2021-12-26)
|
2
|
+
|
3
|
+
* Speed up `#activerecord_lock` by avoiding checking Active Record version at runtime (@janko)
|
4
|
+
|
5
|
+
## 1.2.5 (2021-12-19)
|
6
|
+
|
7
|
+
* Loosen Active Record dependency to allow any 7.x version (@janko)
|
8
|
+
|
9
|
+
* Drop support for Ruby 2.3 (@janko)
|
10
|
+
|
11
|
+
* Allow using the `sql_log_normalizer` Sequel database extension (@janko)
|
12
|
+
|
13
|
+
## 1.2.4 (2021-09-27)
|
14
|
+
|
15
|
+
* Allow using with Active Record 7.0 (@janko)
|
16
|
+
|
17
|
+
* Use `ActiveRecord.default_timezone` on Active Record 7.0 or greater (@janko)
|
18
|
+
|
19
|
+
## 1.2.3 (2021-07-17)
|
20
|
+
|
21
|
+
* Bump `after_commit_everywhere` dependency to `~> 1.0` (@wivarn)
|
22
|
+
|
1
23
|
## 1.2.2 (2021-01-11)
|
2
24
|
|
3
25
|
* Ensure Active Record queries inside a Sequel transaction are typemapped correctly in postgres adapter (@janko)
|
@@ -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 ||
|
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
|
-
|
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
|
-
|
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
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
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
|
+
spec.version = "1.2.6"
|
4
4
|
spec.authors = ["Janko Marohnić"]
|
5
5
|
spec.email = ["janko.marohnic@gmail.com"]
|
6
6
|
|
@@ -9,15 +9,15 @@ 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.
|
12
|
+
spec.required_ruby_version = ">= 2.4"
|
13
13
|
|
14
14
|
spec.add_dependency "sequel", "~> 5.16"
|
15
|
-
spec.add_dependency "activerecord", ">= 4.2", "<
|
16
|
-
spec.add_dependency "after_commit_everywhere", "~>
|
15
|
+
spec.add_dependency "activerecord", ">= 4.2", "< 8"
|
16
|
+
spec.add_dependency "after_commit_everywhere", "~> 1.1"
|
17
17
|
|
18
18
|
spec.add_development_dependency "sequel", "~> 5.38"
|
19
19
|
spec.add_development_dependency "minitest"
|
20
|
-
spec.add_development_dependency "warning"
|
20
|
+
spec.add_development_dependency "warning"
|
21
21
|
|
22
22
|
spec.files = Dir["README.md", "LICENSE.txt", "CHANGELOG.md", "lib/**/*.rb", "*.gemspec"]
|
23
23
|
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.
|
4
|
+
version: 1.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Janko Marohnić
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sequel
|
@@ -33,7 +33,7 @@ dependencies:
|
|
33
33
|
version: '4.2'
|
34
34
|
- - "<"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: '
|
36
|
+
version: '8'
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,21 +43,21 @@ dependencies:
|
|
43
43
|
version: '4.2'
|
44
44
|
- - "<"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
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:
|
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:
|
60
|
+
version: '1.1'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: sequel
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,7 +123,7 @@ homepage: https://github.com/janko/sequel-activerecord_connection
|
|
123
123
|
licenses:
|
124
124
|
- MIT
|
125
125
|
metadata: {}
|
126
|
-
post_install_message:
|
126
|
+
post_install_message:
|
127
127
|
rdoc_options: []
|
128
128
|
require_paths:
|
129
129
|
- lib
|
@@ -131,15 +131,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
131
131
|
requirements:
|
132
132
|
- - ">="
|
133
133
|
- !ruby/object:Gem::Version
|
134
|
-
version: '2.
|
134
|
+
version: '2.4'
|
135
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
137
|
- - ">="
|
138
138
|
- !ruby/object:Gem::Version
|
139
139
|
version: '0'
|
140
140
|
requirements: []
|
141
|
-
rubygems_version: 3.
|
142
|
-
signing_key:
|
141
|
+
rubygems_version: 3.2.15
|
142
|
+
signing_key:
|
143
143
|
specification_version: 4
|
144
144
|
summary: Allows Sequel to use ActiveRecord connection for database interaction.
|
145
145
|
test_files: []
|