class ActiveRecord::Middleware::DatabaseSelector

def select_database(request, &blk)

def select_database(request, &blk)
  context = context_klass.call(request)
  resolver = resolver_klass.call(context, options)
  response = if resolver.reading_request?(request)
    resolver.read(&blk)
  else
    resolver.write(&blk)
  end
  resolver.update_context(response)
  response
end