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 +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
|
- - ">="
|