¿Por qué Ruby no me permite especificarme como receptor dentro de un método privado?

Ruby como un lenguaje orientado a objetos. Lo que eso significa es que cualquier mensaje que envíe, lo envío estrictamente en algún objeto / instancia de clase.

Ejemplo:

 class Test
   def test1
    puts "I am in test1. A public method"
    self.test2
   end

   def test2
    puts "I am in test2. A public Method"
   end
 end

tiene sentido lo que llamo métodotest2 enself objeto

Pero no puedo hacer esto

  class Test
   def test1
    puts "I am in test1. A public method"
    self.test2 # Don't work
    test2 # works. (where is the object that I am calling this method on?)
   end

   private
   def test2
    puts "I am in test2. A private Method"
   end
 end

Cuandotest2 espublic method Puedo llamarloself (Bastante justo, un método enviado a uno mismo objeto). Pero cuandotest2 esprivate method No puedo llamarlo a mí mismo. Entonces, ¿dónde está el objeto que estoy enviando método?

Respuestas a la pregunta(3)

Su respuesta a la pregunta