Usando named_scope com contagens de modelos filhos

Eu tenho um objeto pai simples com muitos filhos. Estou tentando descobrir como usar um escopo nomeado para trazer de volta apenas os pais com um número específico de filhos.

Isso é possível?

class Foo < ActiveRecord::Base
    has_many :bars
    named_scope :with_no_bars, ... # count of bars == 0
    named_scope :with_one_bar, ... # count of bars == 1
    named_scope :with_more_than_one_bar, ... # count of bars > 1
end

class Bar < ActiveRecord::Base
    belongs_to :foo
end

Espero fazer algo comoFoo.with_one_bar

Eu poderia escrever métodos na classe pai para algo assim, mas preferiria ter o poder do escopo nomeado