¿Sintaxis para meter queries dentro de otros?

Tengo el siguiente query en sql que quiero traducir a ruby:

SELECT count(distinct user) FROM stats where festivalId=‘fest000’
and user in (select user from stats where activity=‘checkins’)
and user in (select user from stats where activity=‘programs’)
and user in (select user from stats where activity=‘status’)
and user in (select user from stats where activity=‘pictureUpload’);

No consigo encontrar la forma correcta de hacerlo, me estoy volviendo
loco… ¿Debo utilizar una variable para indicar que user es siempre el
mismo y que así el filtrado sea correcto?
¿Donde puedo encontrar documentación concreta de ruby, linQ o
ActiveRecord para poder realizar una consulta así?

Agradezco cualquier respuesta que me ayude o me sirva como guía!
Saludos!