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