Skip to content

Commit

Permalink
Cache adapter instances based on client
Browse files Browse the repository at this point in the history
  • Loading branch information
bkeepers committed Feb 3, 2024
1 parent 90808d8 commit 595c15f
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion lib/flipper/adapters/connection_pool.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@ class Flipper::Adapters::ConnectionPool
def initialize(pool = nil, &adapter_initializer)
@pool = pool
@adapter_initializer = adapter_initializer
@adapter_cache = {}
end

OPERATIONS.each do |method|
define_method(method) do |*args|
@pool.with do |connection|
@adapter_initializer.call(connection).public_send(method, *args)
@adapter_cache[connection] ||= @adapter_initializer.call(connection)
@adapter_cache[connection].public_send(method, *args)
end
end
end
Expand Down

0 comments on commit 595c15f

Please sign in to comment.