title: Is it possible to negate a scope in Rails?
body: <p>I have the following scope for my class called <code>Collection</code>:</p>
  
  <pre><code>scope :with_missing_coins, joins(:coins).where("coins.is_missing = ?", true)
  </code></pre>
  
  <p>I can run <code>Collection.with_missing_coins.count</code> and get a result back -- it works great!
  Currently, if I want to get collections without missing coins, I add another scope:</p>
  
  <pre><code>scope :without_missing_coins, joins(:coins).where("coins.is_missing = ?", false)
  </code></pre>
  
  <p>I find myself writing a lot of these "opposite" scopes. Is it possible to get the opposite of a scope without sacrificing readability or resorting to a lambda/method (that takes <code>true</code> or <code>false</code> as a parameter)?</p>
  
  <p>Something like this:</p>
  
  <pre><code>Collection.!with_missing_coins
  </code></pre>