title: Why does ||= on a hash reassign a false value?
body: <pre><code>foo = { bar: false }
  foo[:bar] ||= true
  </code></pre>
  
  <p>I expected that to function like <code>foo[:bar] = true unless foo.key? :bar</code> but it does not. Is there a shorter way to conditionally declare a hash value if it has not already been declared?</p>