<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>The Dev Blog: Category acts_as_rated</title>
    <link>http://devblog.famundo.com/articles/category/acts_as_rated</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Putting Family Management on Rails!</description>
    <item>
      <title>A New Version of acts_as_rated plugin</title>
      <description>&lt;p&gt;I just uploaded to &lt;a href="http://acts-as-rated.rubyforge.org/"&gt;rubyforge&lt;/a&gt; a new version of the acts_as_rated plugin.&lt;/p&gt;

&lt;p&gt;This version is thanks to Tiago Serafim who tested it and proposed the needed changes needed to make it work with MySQL.&lt;/p&gt;

&lt;p&gt;Tiago also proposed a new method: &lt;strong&gt;rated_by?(rater)&lt;/strong&gt; that returns true if the object is rated by the passed rater.&lt;/p&gt;

&lt;p&gt;Thanks Tiago!&lt;/p&gt;

&lt;p&gt;As usual full testing is provided. There is one failure in MySQL testing due to strangeness in MySQL average handling. They do fully pass with Postgres.&lt;/p&gt;</description>
      <pubDate>Sun, 18 Feb 2007 08:09:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3432bf97-11e8-49b7-acc8-3e27d4e14c9f</guid>
      <author>guy.naor@famundo.com (Guy Naor)</author>
      <link>http://devblog.famundo.com/articles/2007/02/18/a-new-version-of-acts_as_rated-plugin</link>
      <category>acts_as_rated</category>
      <category>Rails</category>
      <category>Ruby</category>
    </item>
    <item>
      <title>A New Rails Plugin: acts_as_rated</title>
      <description>&lt;p&gt;I just released on &lt;a href="http://acts-as-rated.rubyforge.org"&gt;RubyForge&lt;/a&gt; a new rails plugin for rating of any ActiveRecord model. The project page is at &lt;a href="http://rubyforge.org/projects/acts-as-rated"&gt;rubyforge.org/projects/acts-as-rated&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Though similar to other rating plugins, this one has a ton of options to customize, while still making it very easy to use. And most important for my use, can cache the statistics of the ratings (total/count/average) in the model itself or an external statistics table, eliminating the need to call sum/count/avg on the ratings table itself. . To install: &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;script/plugin install svn://rubyforge.org/var/svn/acts-as-rated/trunk/acts_as_rated
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Usage example:&lt;/h3&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;Book&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt; &lt;span class="constant"&gt;ActiveRecord&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Base&lt;/span&gt;
  &lt;span class="ident"&gt;acts_as_rated&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;

&lt;span class="ident"&gt;u&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;User&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;find_by_name&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;guy&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;
&lt;span class="ident"&gt;b&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;Book&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;find&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;Catch 22&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;
&lt;span class="ident"&gt;b&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;rate&lt;/span&gt; &lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;u&lt;/span&gt; 
&lt;span class="ident"&gt;u&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;User&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;find_by_name&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;john&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;
&lt;span class="ident"&gt;b&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;rate&lt;/span&gt; &lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="ident"&gt;u&lt;/span&gt;

&lt;span class="ident"&gt;b&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;rating_average&lt;/span&gt; &lt;span class="comment"&gt;# =&amp;gt; 4&lt;/span&gt;
&lt;span class="constant"&gt;Book&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;find_by_rating&lt;/span&gt; &lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="punct"&gt;..&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt; &lt;span class="comment"&gt;# =&amp;gt; [&amp;lt;Book:&amp;quot;Catch 22&amp;quot;&amp;gt;]&lt;/span&gt;

&lt;span class="ident"&gt;b&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;find_rated_by&lt;/span&gt; &lt;span class="constant"&gt;User&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;find_by_name&lt;/span&gt;&lt;span class="punct"&gt;(&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;guy&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;)&lt;/span&gt; &lt;span class="comment"&gt;# =&amp;gt; [&amp;lt;Book:&amp;quot;Catch 22&amp;quot;&amp;gt;]&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The plugin comes with a full set of migration methods to make it easy to add to any project, and it also has extensive testing included.&lt;/p&gt;

&lt;h3&gt;Features:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Rate any model&lt;/li&gt;
&lt;li&gt;Optionally add fields to the rated objects to optimize speed&lt;/li&gt;
&lt;li&gt;Optionally add an external rating statistics table with a record for each rated model&lt;/li&gt;
&lt;li&gt;Can work with the added fields, external table or just using direct SQL count/avg calls&lt;/li&gt;
&lt;li&gt;Use any model as the rater (defaults to User)&lt;/li&gt;
&lt;li&gt;Limit the range of the ratings&lt;/li&gt;
&lt;li&gt;Average, total and number of ratings&lt;/li&gt;
&lt;li&gt;Find objects by ratings or rating ranges&lt;/li&gt;
&lt;li&gt;Find objects by rater&lt;/li&gt;
&lt;li&gt;Extensively tested&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
      <pubDate>Sun, 04 Feb 2007 22:20:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:51c65405-8647-4252-9085-b5c329402e3c</guid>
      <author>guy.naor@famundo.com (Guy Naor)</author>
      <link>http://devblog.famundo.com/articles/2007/02/04/a-new-rails-plugin-acts_as_rated</link>
      <category>acts_as_rated</category>
      <category>Rails</category>
      <category>Ruby</category>
    </item>
  </channel>
</rss>
