lkdjiin's blog

Confessions d'un développeur.

Le double bang en Ruby

| Comments

Niveau : facile

Ou encore !!, ou double point d’exclamation

On peut voir ici ou là ce genre de code Ruby:

!!expression

-C’est un truc qui n’est d’ailleurs pas spécifique au langage Ruby- Pourquoi voudrait-on écrire ça ?

Demandez conseil régulièrement

| Comments

Niveau : facile

Aujourd’hui je réparais un bug, rien de très compliqué, juste un évènement qui n’était pas appelé. Et j’en ai profité pour faire un refactoring: passer d’une grosse méthode de classe à quelque chose de plus construit.

Rails 4.1 avec Spring, Rspec ou Minitest et Coco

| Comments

Niveau : facile

Rails 4.1 est sorti récemment. Une des nouveautés est qu’il est livré avec Spring, qui permet d’accélerer le développement en gardant, en quelque sorte, l’application rails en mémoire. Voici, très rapidement, comment configurer Rails 4.1 avec soit Rspec, soit Minitest comme framework de test, et Coco comme outil de code coverage.

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

| Comments

Niveau : intermédiaire

Hier je m’étais arrêté sur cette implémentation de SORM.save:

1
2
3
4
5
6
7
8
9
  def self.save(parameters)
    table = self.to_s.downcase
    columns = parameters.keys.join(',')
    values = parameters.values.map do |item|
      item.class == String ? "'#{item}'" : item
    end.join(',')
    query = "INSERT INTO #{table} (#{columns}) VALUES(#{values});"
    @@db.execute(query)
  end

Cette méthode est déja bien trop longue selon mes critères, et si on ne fait pas quelque chose tout de suite on va vite se retrouver avec un tas de méthodes de classe impossibles à remanier.