Uma confusão comum em Ruby é com métodos de classe privados. Veja o código a seguir:
class TwitterAccount def self.exibition_name "Cayo Medeiros #{username}" end private def self.username "yogodoshi" end end
Muitas pessoas acreditam que o método self.username está privado devido a declaração private logo antes dele. Porém, essa declaração só funciona para métodos de instância, não para os de classe.
Para transformar um método de classe em privado, utilize:
private_class_method :username
Para maiores detalhes, leia nesse post a resposta do criador do Ruby sobre o porque ter sido feito dessa forma.