Utilizando o padrão Singleton no Ruby
Leia em menos de um minuto
Singleton é um design pattern usado para restringir a instanciação de objetos, fornecendo um ponto global de acesso a uma única instância de uma classe.
No Ruby, você pode utilizar este padrão da maneira mais simples possível. Basta carregar a biblioteca Singleton.
require "singleton"
class Database
include Singleton
def connect
@connection = Adapter.connect
end
end Ao adicionar o módulo Singleton, você torna o método new privado. Se você tentar instanciar esta classe, verá um erro como este:
NoMethodError: private method `new' called for Test:Class
from (irb):3
from :0 Para ter acesso à instância da classe Test, você deve utilizar o método instance.
Database.instance.connectMuito elegante, assim como quase tudo no Ruby!