title: How to make the class constructor private in Ruby?
body: <pre><code>class A
  private
    def initialize
      puts "wtf?"
    end
  end
  
  A.new #still works and calls initialize
  </code></pre>
  
  <p>and</p>
  
  <pre><code>class A
  private
    def self.new
      super.new
    end
  end
  </code></pre>
  
  <p>doesn't work altogether</p>
  
  <p>So what's the correct way? I want to make <code>new</code> private and call it via a factory method.</p>