title: Ruby syntax '{:age.gt => 60}', how does it work?
body: <p>I am wondering this syntax <code>{:age.gt =&gt; 60}</code>, which I find this syntax from <code>mongoid</code>. How does it work? I'm checking the source code of mongoid, it didn't extend the <code>Symbol</code> class much, and there is a <code>matchers</code> directory which contains gt.rb, lt.rb, .... These files are used for conditioning logic: greater than, less than .... I can't understand how it relates to <code>Symbol</code> class.</p>
  
  <p>In plain irb session, it displays an error:</p>
  
  <pre><code>NoMethodError: undefined method `gt' for :age:Symbol
  </code></pre>
  
  <p>Anyone could explain me?</p>