active_record_proxy_adapters 0.10.0 → 0.10.2

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: bca625e0a728907c505db941a4398b5aa144dcdd5f6866ac9a3969f0b783c4d0
4
- data.tar.gz: 3ab824330a83e8309b31763b24fe7c74ba0efff2a1eff28505d2a8216442f557
3
+ metadata.gz: 70250167498af840cadd4a35c83be8d093566e414c84c44b821c9d2e23dea3ca
4
+ data.tar.gz: '093ec59b4123dc6b695eff81f124fca929619cc9ed33709b2167fb01863fa3fb'
5
5
  SHA512:
6
- metadata.gz: 1bc0567abfff9e1877abe107074a7e3f35f574ecefc2584f188809a0940c37a9192c88f3ae71f0e682d7115de75cd8b82ef827874e75195dc635572a8a8c7173
7
- data.tar.gz: 6ee734e3da7c41d458403e10589d3edd8126862ddcfa2d63034d75c884ec98e383c58e0877166c25155c44ef3a2c13e307378df850b47b0da77d103ff31d57c2
6
+ metadata.gz: a782b3dea740b91f81c5f57a97cb9116343cbb990a41a80757d713e7893b5fa9d1565c730ed0eab8f55902a248551abcc5c8bfa6579ed51c3d5ae4d6e435eca5
7
+ data.tar.gz: 9fa48c67ac8da9ee1f9e4b1bacff13847eec8d1b8c3956bc6de822096b343e1d4ac2a65740ecf3525682e0d380fa6f928e0cdcd6c7255d101fcb03912392ed5b
@@ -15,7 +15,7 @@ module ActiveRecord
15
15
 
16
16
  ADAPTER_NAME = "TrilogyProxy"
17
17
 
18
- delegate_to_proxy(*ActiveRecordProxyAdapters::ActiveRecordContext.hijackable_methods, :exec_insert)
18
+ delegate_to_proxy(*ActiveRecordProxyAdapters::ActiveRecordContext.hijackable_methods)
19
19
 
20
20
  def initialize(...)
21
21
  @proxy = ActiveRecordProxyAdapters::TrilogyProxy.new(self)
@@ -18,7 +18,7 @@ module ActiveRecordProxyAdapters
18
18
  end
19
19
 
20
20
  def hijackable_methods
21
- %i[execute exec_query internal_exec_query]
21
+ %i[exec_delete exec_insert exec_query exec_update execute select]
22
22
  end
23
23
 
24
24
  def active_record_v7?
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "rack"
4
+ require "rack/events"
4
5
  require "json"
5
6
  require "active_record_proxy_adapters/context"
6
7
  require "active_record_proxy_adapters/contextualizer"
@@ -43,6 +44,16 @@ module ActiveRecordProxyAdapters
43
44
  Rack::Utils.set_cookie_header!(headers, COOKIE_NAME, cookie)
44
45
  end.freeze
45
46
 
47
+ class EventHandler # rubocop:disable Style/Documentation
48
+ include Rack::Events::Abstract
49
+ include Mixin::Configuration
50
+ include Contextualizer
51
+
52
+ def on_finish(_request, _response)
53
+ self.current_context = context_store.new({})
54
+ end
55
+ end
56
+
46
57
  def initialize(app, cookie_options = {})
47
58
  @app = app
48
59
  @cookie_options = cookie_options
@@ -2,21 +2,17 @@
2
2
 
3
3
  require "active_support"
4
4
  require "active_record_proxy_adapters/core"
5
- require "active_record_proxy_adapters/railties/postgresql"
6
5
  require "active_record_proxy_adapters/railties/mysql2"
7
- require "active_record_proxy_adapters/railties/trilogy"
6
+ require "active_record_proxy_adapters/railties/postgresql"
7
+ require "active_record_proxy_adapters/railties/rack_middleware"
8
8
  require "active_record_proxy_adapters/railties/sqlite3"
9
+ require "active_record_proxy_adapters/railties/trilogy"
9
10
 
10
11
  module ActiveRecordProxyAdapters
11
12
  # Hooks into rails boot process to extend ActiveRecord with the proxy adapter.
12
13
  class Railtie < Rails::Railtie
13
- require "active_record_proxy_adapters/middleware"
14
14
  require "active_record_proxy_adapters/rake"
15
15
 
16
- initializer "active_record_proxy_adapters.configure_rails_initialization" do |app|
17
- app.middleware.use ActiveRecordProxyAdapters::Middleware
18
- end
19
-
20
16
  rake_tasks do
21
17
  ActiveRecordProxyAdapters::Rake.load_tasks
22
18
  ActiveRecordProxyAdapters::Rake.enhance_db_tasks
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support"
4
+ require "active_record_proxy_adapters/middleware"
5
+
6
+ module ActiveRecordProxyAdapters
7
+ # Hooks into rails boot process to add the rack middleware for stickiness cookies.
8
+ class RackMiddleware < Rails::Railtie
9
+ initializer "active_record_proxy_adapters.add_middleware_to_rack_stack" do |app|
10
+ app.middleware.use ActiveRecordProxyAdapters::Middleware
11
+ app.middleware.use Rack::Events, [ActiveRecordProxyAdapters::Middleware::EventHandler.new]
12
+ end
13
+ end
14
+ end
@@ -5,6 +5,5 @@ require "active_record_proxy_adapters/mysql2_proxy"
5
5
  module ActiveRecordProxyAdapters
6
6
  # Proxy to the Mysql2Proxy, allowing the use of the ActiveRecordProxyAdapters::PrimaryReplicaProxy.
7
7
  class TrilogyProxy < Mysql2Proxy
8
- hijack_method :exec_insert
9
8
  end
10
9
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveRecordProxyAdapters
4
- VERSION = "0.10.0"
4
+ VERSION = "0.10.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_proxy_adapters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Cruz
@@ -138,6 +138,7 @@ files:
138
138
  - lib/active_record_proxy_adapters/railtie.rb
139
139
  - lib/active_record_proxy_adapters/railties/mysql2.rb
140
140
  - lib/active_record_proxy_adapters/railties/postgresql.rb
141
+ - lib/active_record_proxy_adapters/railties/rack_middleware.rb
141
142
  - lib/active_record_proxy_adapters/railties/sqlite3.rb
142
143
  - lib/active_record_proxy_adapters/railties/trilogy.rb
143
144
  - lib/active_record_proxy_adapters/rake.rb