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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4bb2b81760b45990a9bea2801f8a243cfc180853ad450d652cf888cd45844033
4
- data.tar.gz: 73ae4c6341a3c694423b4e20da86f01cce3324d37a9a29143eb2f2e420d45288
3
+ metadata.gz: aa32893e39b55c6e2b8186c216645a4cccfa7e865795e390656ebac83d5ecd1d
4
+ data.tar.gz: c8d6ba5b2958de6e8e3d687c75f4a51a60c863a1728de525ef222650cd34b490
5
5
  SHA512:
6
- metadata.gz: 4e27142472fabc36703d3cca6828e005858d60088a88bbb8f78c58dba5f6e9a2b2ae349ff6d39451558d7dd3e4e32e92d49818af88af9bb6bc18a522c283bc38
7
- data.tar.gz: 6dff47d6fe0adf995dc3738e932bda92b15279b56bdf22750e6c42058031ca2b2f152e26cd80b2a09e3be460a1be8695a3645df8a2bcd4a87430ebfc3243fa98
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 || 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.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.3"
12
+ spec.required_ruby_version = ">= 2.4"
13
13
 
14
14
  spec.add_dependency "sequel", "~> 5.16"
15
- spec.add_dependency "activerecord", ">= 4.2", "< 7"
16
- spec.add_dependency "after_commit_everywhere", "~> 0.1.5"
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" if RUBY_VERSION >= "2.4"
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.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-01-11 00:00:00.000000000 Z
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: '7'
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: '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: 0.1.5
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: 0.1.5
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.3'
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.1.4
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: []