title: What is the difference between Ruby's send and public_send methods?
body: <p>I am very curious to know what the difference is between <code>send</code> and <code>public_send</code>. E.g.:</p>
  <pre><code>class Klass
    def hello(*args)
      &quot;Hello &quot; + args.join(' ')
    end
  end
  
  k = Klass.new
  k.send :hello, &quot;gentle&quot;, &quot;readers&quot; #=&gt; &quot;Hello gentle readers&quot;
  k.public_send :hello, &quot;gentle&quot;, &quot;readers&quot; #=&gt; &quot;Hello gentle readers&quot;
  </code></pre>