Se eu tiver um escopo com um lambda e precisar de um argumento, dependendo do valor do argumento, talvez eu saiba que não haverá correspondências, mas ainda quero retornar uma relação, não uma matriz vazia:
scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] }
O que eu realmente quero é um método "none", o oposto de "all", que retorna uma relação que ainda pode ser encadeada, mas resulta em curto-circuito na consulta.