class Grpcx::Server::Interceptors::ActiveRecord

Manages ActiveRecord::Base connection, making sure that connection is established before each request and re-pooling connections when request is processed.

Public Instance Methods

bidi_streamer(*, &block) click to toggle source
# File lib/grpcx/server/interceptors/active_record.rb, line 20
def bidi_streamer(*, &block)
  wrap(&block)
end
client_streamer(*, &block) click to toggle source
# File lib/grpcx/server/interceptors/active_record.rb, line 12
def client_streamer(*, &block)
  wrap(&block)
end
request_response(*, &block) click to toggle source
# File lib/grpcx/server/interceptors/active_record.rb, line 8
def request_response(*, &block)
  wrap(&block)
end
server_streamer(*, &block) click to toggle source
# File lib/grpcx/server/interceptors/active_record.rb, line 16
def server_streamer(*, &block)
  wrap(&block)
end

Private Instance Methods

wrap() { || ... } click to toggle source
# File lib/grpcx/server/interceptors/active_record.rb, line 26
def wrap
  ::ActiveRecord::Base.establish_connection unless ::ActiveRecord::Base.connection.active?
  yield
ensure
  ::ActiveRecord::Base.clear_active_connections!
end