title: Ruby "Base" classes
body: <p>It seems commonplace to name classes "Base" in Ruby. I'm not sure why, nor how I feel about it.</p>
  
  <p>Consider, for example, <a href="http://github.com/rails/rails/tree/master/activerecord/" rel="noreferrer">ActiveRecord</a>. <code>ActiveRecord</code> is a module that contains a number of classes such as <code>Observer</code> and <code>Migration</code>, as well as a class called <code>Base</code>. What's the benefit of this, as opposed to having an <code>ActiveRecord</code> class that contains <code>Observer</code> and <code>Migration</code>?</p>
  
  <pre><code>class ActiveRecord
  
    class Observer
      [...]
    end
  
    class Migration
      [...]
    end
  
  end
  </code></pre>
  
  <p>vs</p>
  
  <pre><code>module ActiveRecord
  
    class Base
      [...]
    end
  
    class Observer
      [...]
    end
  
    class Migration
      [...]
    end
  
  end
  </code></pre>