title: first_or_create: determining which is called
body: <p>I call first_or_create like so:</p>
  
  <pre><code>collection = Collection.first_or_create(:title =&gt; title)
  </code></pre>
  
  <p>Is there a way to determine if the result is an existing entry or a freshly created one? So far the best solution I've come up with is to use first_or_initialize:</p>
  
  <pre><code>collection = Collection.first_or_initialize(:title =&gt; title)
  if collection.id.nil?
    &lt;process&gt;
    collection.save
  end
  </code></pre>
  
  <p>But this feels a bit hacky. Is there a way to get this information directly from first_or_create?</p>