This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
rakismet /
| name | age | message | |
|---|---|---|---|
| |
MIT-LICENSE | Sun Apr 20 17:12:02 -0700 2008 | [jfrench] |
| |
README | Tue Jul 01 19:39:10 -0700 2008 | [jfrench] |
| |
init.rb | Sun Apr 20 17:12:02 -0700 2008 | [jfrench] |
| |
install.rb | Sun Apr 20 17:12:02 -0700 2008 | [jfrench] |
| |
lib/ | Tue Jul 01 19:42:40 -0700 2008 | [jfrench] |
| |
spec/ | Tue Jul 01 19:39:20 -0700 2008 | [jfrench] |
| |
uninstall.rb | Sun Apr 20 17:12:02 -0700 2008 | [jfrench] |
README
Rakismet ======== Akismet [http://akismet.com/] is a collaborative spam filtering service. Rakismet is easy Akismet integration with your Rails app. Setup ===== Install with script/plugin install git://github.com/jfrench/rakismet To get up and running with Rakismet, you'll need an API key from the folks at WordPress. Head on over to http://wordpress.com/api-keys/ and sign up for a new username. Rakismet installation should have created a file called rakismet.rb in config/initializers. Add your WordPress key and the front page or home URL of your app. Rakismet::URL must be a fully qualified URI including the http://. If that file is missing, create it and add the following: Rakismet::KEY = 'your key from WordPress' Rakismet::URL = 'http://base url for your application/' Now introduce Rakismet to your application. Let's assume you have a Comment model and a CommentsController: class Comment < ActiveRecord::Base has_rakismet end class CommentController < ActionController::Base has_rakismet end Rakismet sends the following information to the spam-hungry robots at Akismet, which means these attributes should be stored in your Comment model or accessible through that class's associations. author : name submitted with the comment author_url : URL submitted with the comment author_email : email submitted with the comment comment_type : 'comment', 'trackback', 'pingback', or whatever you fancy content : the content submitted permalink : the permanent URL for the entry the comment belongs to ## These last 3 fields don't need to be defined ## ## if you're not storing them in the database. ## user_ip : IP address used to submit this comment user_agent : user agent string referrer : http referer user_ip, user_agent, and referer are optional; you don't have to store them, but it's a good idea. If you omit them from the Rakismet definition (see below), the +spam?+ method will look around in your request environment and find them there. This means that Rakismet is meant to be used in a synchronous fashion -- validating comments as they are submitted by the user, not placed in a queue for later spam-checking. Customizing Attributes ====================== If your attributes don't match those listed above, or if some of them live on other objects, you pass has_rakismet a hash mapping the default attributes to your own. You can change the names, if your comment attributes don't match the Rakismet defaults: has_rakismet :author => :commenter_name, :author_email => :commenter_email You can also pass in a proc, to access associations: belongs_to :author has_rakismet :author => proc { author.name }, :author_email => proc { author.email } For any attribute you don't explicitly define, Rakismet will try to find an attribute or method matching the default name. As mentioned above, you can either map user_ip, user_agent, and referer here or omit them and Rakismet will look for them in the request environment when you call +spam?+. Usage ===== Rakismet provides three methods for interacting with Akismet: spam? From within a CommentsController action, simply call @comment.spam? to get a true/false response. True means it's spam, false means it's not. Well, usually; it's possible something went wrong and Akismet returned an error message. @comment.spam? will return false if this happens. You can check @comment.akismet_response to be certain; anything other than 'true' or 'false' means you got an error. That said, as long as you're collecting the data listed above it's probably sufficient to check spam? alone. ham! and spam! Akismet works best with your feedback. If you spot a comment that was erroneously marked as spam, @comment.ham! will resubmit to Akismet, marked as a false positive. Likewise if they missed a spammy comment, @comment.spam! will resubmit marked as spam. Copyright (c) 2008 Josh French, released under the MIT license




