Un jour, une gem

04/05/2012

Vendredi c'est Rakismet

gem install rakismet

Les spams say mal !

Aujourd’hui une gem bien pratique qui utilise Akismet. Pour ceux qui ne connaissent pas, Akismet est un service de filtre collaboratif.

Après les commandes habituelles pour installer une gem, il faut créer un initializer avec les lignes suivantes :

config.rakismet.key = 'la clef Akismet'
config.rakismet.url = 'http://votredomaine.fr'

Ensuite pour accéder aux méthodes de la gem dans le model concerné, on ajoute cette ligne :

include Rakismet::Model

Ce qui vous donne accès aux méthodes suivantes :

spam?

On soumet le commentaire à Akismet qui retournera vrai ou faux.

ham!

On re-soumet un commentaire valide qui a été marqué comme spam par erreur par Akismet.

spam!

On re-soumet un commentaire qui se trouve être un spam et qu’Akismet a manqué.

Par défaut Rakismet utilisera les attributs suivants dans votre model :

author        : "le nom envoyé avec le commentaire"
author_url    : "le site de l'auteur du commentaire"
author_email  : "son email"
comment_type  : "le type de commentaire, par défaut 'comment'"
content       : "le contenu"
permalink     : "l'url de la page commentée"
user_ip       : "l'adresse IP de l'auteur du commentaire"
user_agent    : "user agent"
referrer      : "l'url referer (note the spelling)"

Il est possible de changer les attributs qui seront utilisés comme ceci :

rakismet_attrs :author => :commenter_name, :author_email => :commenter_email

Voilà c’est tout pour aujourd’hui :)

Les liens utiles