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.