title: Are all methods public by default?
body: <p>If I have this in my main program:</p>
  
  <pre><code>def hi
    puts 'hi'
  end
  self.hi
  </code></pre>
  
  <p>it won't work because <code>hi</code> is private. </p>
  
  <p>I've learned that all methods in Ruby are public by default, but this doesn't seem to be the case, why?</p>