title: What are private methods for in Ruby?
body: <p>Am I missing out something?</p>
  
  <pre><code>class Circus
    private
    def start
      puts 'And now for something completely different..'
    end
  end
  </code></pre>
  
  <p>And for my disillusion:</p>
  
  <pre><code>c=Circus.new
  c.start               #NoMethodError: private method `start' called
  c.method(:start).call #no problem at all
  c.send :start        #neither this fails
  </code></pre>
  
  <p>Can anybody give me a reason why private methods exist in Ruby?</p>