acts-as-readable
acts-as-readable copied to clipboard
A simple plugin that allows a user to mark anything as 'read.' Common usage would include forum posts, news items, etc.
ActsAsReadable
ActsAsReadable allows you to create a generic relationship of items which can be marked as 'read' by users. This is useful for forums or any other kind of situation where you might need to know whether or not a user has seen a particular model.
Installation
To install the plugin just install from the SVN:
script/plugin install http://svn.intridea.com/svn/public/acts_as_readable
You will need the readings table to use this plugin. A generator has been included, simply type
script/generate acts_as_readable_migration
to get the standard migration created for you.
Example
class Post < ActiveRecord::Base acts_as_readable end
bob = User.find_by_name("bob")
bob.readings # => []
Post.find_unread_by(bob) # => [<Post 1>,<Post 2>,<Post 3>...] Post.find_read_by(bob) # => []
Post.find(1).read_by?(bob) # => false Post.find(1).read_by!(bob) # => <Reading 1> Post.find(1).read_by?(bob) # => true Post.find(1).users_who_read # => [<User bob>]
Post.find_unread_by(bob) # => [<Post 2>,<Post 3>...] Post.find_read_by(bob) # => [<Post 1>]
bob.readings # => [<Reading 1>]
Copyright (c) 2008 Michael Bleigh and Intridea, Inc. released under the MIT license