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 +4 -4
- data/lib/active_record/connection_adapters/mysql2_proxy_adapter.rb +1 -1
- data/lib/active_record/connection_adapters/postgresql_proxy_adapter.rb +1 -1
- data/lib/active_record_proxy_adapters/active_record_context.rb +18 -0
- data/lib/active_record_proxy_adapters/primary_replica_proxy.rb +1 -1
- data/lib/active_record_proxy_adapters/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da456856840641e7e2561cf10576ba704b3ecaeb067e8659dba1b19746305216
|
4
|
+
data.tar.gz: 54dd5aa510d05e46f49523cc4ed59205b65b0cdefd4a28e821f5b87681a293e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
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
|
33
|
+
hijack_method(*ActiveRecordContext.hijackable_methods)
|
34
34
|
|
35
35
|
def self.hijacked_methods
|
36
36
|
@hijacked_methods.to_a
|
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.
|
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-
|
10
|
+
date: 2025-03-19 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: activerecord
|