¿Cómo agregar correctamente corchetes a las consultas de SQL con las cláusulas 'o' y 'y' usando Arel?

Estoy usando Ruby on Rails 3.2.2 y me gustaría generar la siguiente consulta SQL:

SELECT `articles`.* FROM `articles` WHERE (`articles`.`user_id` = 1 OR `articles`.`status` = 'published' OR (`articles`.`status` = 'temp' AND `articles`.`user_id` IN (10, 11, 12, <...>))) 

Mediante el usoArel de esta manera

Article
 .where(
   arel_table[:user_id].eq(1)
   .or(arel_table[:status].eq("published"))
   .or(
     arel_table[:status].eq("temp")
     .and(
       arel_table[:user_id].in(10, 11, 12, <...>)
     )
  )
)

genera lo siguiente (Nota: los paréntesis no son lo mismo que la primera consulta SQL):

SELECT `articles`.* FROM `articles` WHERE (((`articles`.`user_id` = 1 OR `articles`.`status` = 'published') OR `articles`.`status` = 'temp' AND `articles`.`user_id` IN (10, 11, 12, <...>))) 

Ya queYo creo que la última consulta SQL no "funciona" como la primera,¿Cómo podría usar Arel? (o, quizás, otra cosa)¿Entonces para generar la consulta SQL como la primera?

Actualización (después de los comentarios)

Dado que las consultas SQL anteriores "funcionan" de la misma manera, todavía me gustaría generar la consulta SQL exacta como la primera en la pregunta (la razón principal para hacer esto es que la primera consulta SQL es más legible que la segunda, ya que en la primera uno se usa menos y los corchetes "explícitos"), ¿cómo podría hacerlo usando Arel?

Respuestas a la pregunta(3)

Su respuesta a la pregunta