Comment faire le constructeur de la classe privée en Ruby?

class A
private
  def initialize
    puts "wtf?"
  end
end

A.new #still works and calls initialize

et

class A
private
  def self.new
    super.new
  end
end

ne fonctionne pas complètement

Quelle est donc la bonne façon? Je veux faire new privé et de l'appeler via une méthode de fabrique.

  • Je ne suis pas sûr de ce que vous voulez, c'est possible, mais même si c'était, en théorie, vous ne seriez pas en mesure d'appeler à partir d'une méthode de fabrique, car il serait privé. Êtes-vous essayer de créer un singleton? Ou de faire une inversion de modèle de contrôle?