sequel-activerecord_connection 1.2.3 → 1.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/LICENSE.txt +1 -1
- data/lib/sequel/extensions/activerecord_connection.rb +29 -11
- data/sequel-activerecord_connection.gemspec +6 -7
- metadata +9 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4618dbde61b958267d7aa3b2e5e8c18d2dfd55207c8dcb9b3a0a9db4c8ca4b2b
|
4
|
+
data.tar.gz: 1c84a6e396817472d844739c24046df8cf83d6488a1a95f948677be228e05b13
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
@@ -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.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.
|
12
|
+
spec.required_ruby_version = ">= 2.4"
|
13
13
|
|
14
|
-
spec.add_dependency "sequel", "~> 5.
|
15
|
-
spec.add_dependency "activerecord", ">= 4.2", "<
|
16
|
-
spec.add_dependency "after_commit_everywhere", "~> 1.
|
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"
|
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.
|
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:
|
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.
|
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.
|
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: '
|
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: '
|
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.
|
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.
|
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.
|
120
|
+
version: '2.4'
|
135
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
122
|
requirements:
|
137
123
|
- - ">="
|