Un jour, une gem

14/04/2012

Samedi c'est PublicActivity

gem install public_activity

Traquer les models !

Aujourd’hui une gem qui permet de logger tous les changements effectués sur vos models. Tout commence par l’ajout d’une petite méthode dans les models concernés :

class Article < ActiveRecord::Base
    tracked
end

Ensuite une migration pour stocker vos changements en base :

rails g public_activity:migration

Et on n’oublie pas de migrer ! :p

rake db:migrate

Maintenant si on veut récupérer l’activité complète, il suffit de faire quelque chose dans ce genre-là :

@activities = PublicActivity::Activity.all

Il ne vous reste plus qu’à créer un fichier YAML avec les traductions adéquates :

activity:
  article:
    create: "Un article a été créé"
    update: "Quelqu'un a mis à jour l'article"
    destroy: "Un utilisateur a supprimé l'article"

Sans oublier d’ajouter un petit initializer dans ce goût-là :

PublicActivity::Activity.template = YAML.load_file("#{RAILS_ROOT}/config/monyaml.yml")

Voilà, c’est tout pour aujourd’hui !

Les liens utiles