Project

can_flag

0.03
No commit activity in last 3 years
No release in over 3 years
Rails plugin to allow users to flag content for review
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme
Can Flag
=================
Strongly inspired by acts_as_flaggable.
Intended to allow your users to flag content as inappropriate, and set up some ways for you 
to deal with the content.

== Resources

Install

1. Download the tarball from github, or, clone the repository and symlink it into your application.
   Yes, I'm serious.
  
2. $ script/generate can_flag flags

   This will create the following files:
     app/controllers/flags_controller.rb
     spec/helpers/flags_controller_spec.rb
     app/helpers/flags_helper
     db/migrate/flags_migration.rb

3. Modify any content model with
  
   class Article < ActiveRecord::Base
     can_be_flagged
   end
   
   You can also add a callback
   
   class Article
     can_be_flagged
     def after_flagged
       # send an email
       # delete this post
       # suspend the owner of the post if the flags.size > 3
       # suspend the owner of the post if their total flags count > 5
     end
   end

4. Modify your user model with
 
   class User < ActiveRecord::Base
     can_flag     
   end

5. Usage

   article = Article.find(4)
   current_user.flags.create :flaggable => article

 

 * When a flag is added via add_flag, flagged(flag, flag_count) is called
   on the flaggable model.  This allows the model to perform certain
   operations if the number of flags reaches a certain point.  For example,
   you may want to mark a Post as deleted if a Post receives too many "spam"
   flags
 
 * Each flag reference flaggable object
 
 model = Model.find(1)
 model.flags.get(0).commtable == model