Xavier Nayrac

Rubyiste accro au TDD, serial blogger, apprenti data scientist, heureux utilisateur de Vim, accordéoniste.
Si vous vous sentez particulièrement généreux, suivez moi sur Twitter.

Ruby - Et si on écrivait un ORM ? - partie 8

| Comments

Niveau : intermédiaire

Je continue le refactoring de SORM. Voici la classe Database dans son état actuel:

sorm.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  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:

1
2
3
def self.connected?
  @@db ? true : false
end

À quelque chose de plus expressif:

1
2
3
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.

Articles connexes

Commentaires