private

privateなメソッドはレシーバを省略しないと呼び出せません。

class Rubyco
  def secret
    puts "..."
  end
  private :secret
end

Rubyco.new.secret #=> private method `secret' called for #<Rubyco:0x298f1b8> (NoMethodError)

レシーバを省略すれば呼び出せます。

class Rubyco
  def secret
    puts "..."
  end
  private :secret
  def rubyco
    secret
  end
end

Rubyco.new.rubyco       #=> ...

クラス内であっても、レシーバを省略しないと呼び出せません。

class Rubyco
  def secret
    puts "..."
  end
  private :secret
  def rubyco
    self.secret
  end
end

Rubyco.new.rubyco #=> private method `secret' called for #<Rubyco:0x298f038> (NoMethodError)