Ruby - Et si on écrivait un ORM ? - partie 8
Je continue le refactoring de SORM. Voici la classe Database
dans son
état actuel:
require 'sqlite3'
module SORM
class Database
@@db = false
def self.connect(database_filename)
@@db = SQLite3::Database.open(database_filename)
end
def self.connected?
@@db ? true : false
end
def self.connection
@@db
end
end
# ...
end
La première chose que j’ai envie de faire, c’est de supprimer l’abbréviation
db
. De plus, comme il s’agit plutôt d’établir une connexion, je change
pour connection
:
class Database
@@connection = false
def self.connect(database_filename)
@@connection = SQLite3::Database.open(database_filename)
end
def self.connected?
@@connection ? true : false
end
def self.connection
@@connection
end
end
À ce sujet, j’applique mes propres principes ;)
Ensuite je vais modifier l’implémentation de la méthode .connected?
. Elle
va passer de:
def self.connected?
@@db ? true : false
end
À quelque chose de plus expressif:
def self.connected?
!!@@connection
end
J’ai écris récemment un article sur le double bang si vous vous demandez ce que c’est ;)
La prochaine fois, on refactorera un peu plus la classe Base
.
To be continued
À demain.
/ / / / / / / / / /
« Ruby - Et si on écrivait un ORM ? - partie 7 ---//---
Ruby - Et si on écrivait un ORM ? - partie 9 »