title: "class<<self" vs "extend ClassMethods"
body: <p>2 main techniques for creating class methods (without the obvious "def self.method") are:</p>
  
  <ol>
  <li>Defining them in "class &lt;&lt; self" block</li>
  <li>Defining ClassMethod module and extending it later</li>
  </ol>
  
  <p>I personally prefer second way, seems cleaner. Does anyone has any reason to prefer one technique over the other?</p>
  
  <p>There's also "class_method" method, but I never used it, it has quite complex implementation and seem to do a lot more than previous 2.</p>