active_record_proxy_adapters 0.3.3 → 0.3.4

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: fb04343dd0cca68ac16cbea842d12bc6c85b399883d132cf6b41c82623eb297f
4
- data.tar.gz: 684848e566a132de37149d5873619b18a5a671cf7e86d3c09dd4b43d1d36c02e
3
+ metadata.gz: da456856840641e7e2561cf10576ba704b3ecaeb067e8659dba1b19746305216
4
+ data.tar.gz: 54dd5aa510d05e46f49523cc4ed59205b65b0cdefd4a28e821f5b87681a293e8
5
5
  SHA512:
6
- metadata.gz: c61315b442612b8ac1d28c13dd4d2bf70f7862b1cad438c3603693bec744f73c54dd031bf99da16863ed5caf171def7210f35274735077652799ab4a31c643a8
7
- data.tar.gz: 7264ea8bdcfb2e58bd1fa1e61498f97503b9694a9b38ac9d04828b200756d476711085d3528d2b08b260de24d0b8a0f58ecbe10222a0431d4f7a6474d6ec5001
6
+ metadata.gz: b4447db258af5b868f65a52f3f61d7be9391728922db2444fdac397c1ef6cf2e2937af24f786a0d11b61cf771ba2bc2ff36b00b16553c15b04f2669a8c4bae39
7
+ data.tar.gz: 18e0062b3cc89b2d871b492b1cbd1caf7db10a5a90338981c26807b2176956185b988b515aece2a33bedbf2d1ee3482a66496cdb6592f16b70938d0a5dde65d4
@@ -15,7 +15,7 @@ module ActiveRecord
15
15
 
16
16
  ADAPTER_NAME = "Mysql2Proxy"
17
17
 
18
- delegate_to_proxy :execute, :exec_query
18
+ delegate_to_proxy(*ActiveRecordProxyAdapters::ActiveRecordContext.hijackable_methods)
19
19
 
20
20
  def initialize(...)
21
21
  @proxy = ActiveRecordProxyAdapters::Mysql2Proxy.new(self)
@@ -15,7 +15,7 @@ module ActiveRecord
15
15
 
16
16
  ADAPTER_NAME = "PostgreSQLProxy"
17
17
 
18
- delegate_to_proxy :execute, :exec_query
18
+ delegate_to_proxy(*ActiveRecordProxyAdapters::ActiveRecordContext.hijackable_methods)
19
19
 
20
20
  unless ActiveRecordProxyAdapters::ActiveRecordContext.active_record_v8_0_or_greater?
21
21
  delegate_to_proxy :exec_no_cache, :exec_cache
@@ -23,6 +23,8 @@ module ActiveRecordProxyAdapters
23
23
  end
24
24
 
25
25
  def connection_class_for(connection)
26
+ return connection.connection_descriptor.name.constantize if active_record_v8_0_2_or_greater?
27
+
26
28
  connection.connection_class || ActiveRecord::Base
27
29
  end
28
30
 
@@ -33,6 +35,18 @@ module ActiveRecordProxyAdapters
33
35
  ActiveRecord
34
36
  end
35
37
 
38
+ def hijackable_methods
39
+ hijackable = %i[execute exec_query]
40
+
41
+ hijackable << :internal_exec_query if active_record_v8_0_or_greater?
42
+
43
+ hijackable
44
+ end
45
+
46
+ def active_record_v7?
47
+ active_record_version >= Gem::Version.new("7.0") && active_record_version < Gem::Version.new("8.0")
48
+ end
49
+
36
50
  def active_record_v7_1_or_greater?
37
51
  active_record_version >= Gem::Version.new("7.1")
38
52
  end
@@ -44,5 +58,9 @@ module ActiveRecordProxyAdapters
44
58
  def active_record_v8_0_or_greater?
45
59
  active_record_version >= Gem::Version.new("8.0")
46
60
  end
61
+
62
+ def active_record_v8_0_2_or_greater?
63
+ active_record_version >= Gem::Version.new("8.0.2")
64
+ end
47
65
  end
48
66
  end
@@ -30,7 +30,7 @@ module ActiveRecordProxyAdapters
30
30
  /DROP\s/i].map(&:freeze).freeze
31
31
 
32
32
  # Abstract adapter methods that should be proxied.
33
- hijack_method :execute, :exec_query
33
+ hijack_method(*ActiveRecordContext.hijackable_methods)
34
34
 
35
35
  def self.hijacked_methods
36
36
  @hijacked_methods.to_a
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveRecordProxyAdapters
4
- VERSION = "0.3.3"
4
+ VERSION = "0.3.4"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_proxy_adapters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Cruz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-04 00:00:00.000000000 Z
10
+ date: 2025-03-19 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: activerecord