Un jour, une gem

31/03/2012

Samedi c'est Unread

gem install unread

Unread sauf cet article :)

Une nouvelle gem à ajouter à votre boîte à outils. Unread permet de gérer facilement un statut lu / non lu sur un objet ActiveRecord. Cela peut être pratique pour un système de tickets par exemple.

Pour la faire fonctionner il y a quelques étapes à respecter. Tout d’abord reprendre la migration suivante :

class CreateReadMarks < ActiveRecord::Migration
  def self.up
    create_table :read_marks, :force => true do |t|
      t.integer  :readable_id
      t.integer  :user_id,       :null => false
      t.string   :readable_type, :null => false, :limit => 20
      t.datetime :timestamp
    end
    add_index :read_marks, [:user_id, :readable_type, :readable_id]
  end

  def self.down
    drop_table :read_marks
  end
end

Pour la suite vous aurez juste besoin de la méthode suivante dans les models qui doivent avoir ce fonctionnement :

acts_as_reader

Vous voilà prêt à l’action !

Le lien utile