public
Description: Easy Akismet integration for your Rails app
Clone URL: git://github.com/jfrench/rakismet.git
Fix bug when attempting to define a Rakismet attribute as a plain string
jfrench (author)
Tue Jul 01 19:25:02 -0700 2008
commit  bc7ea0e3dfdf58e83390596c4a4cb4ce8f25b474
tree    c32bf3058d58483f68a4d8d46aa702ce1b348c6a
parent  d59f3ac2b33224c35bd564452687d3f42729ac33
...
51
52
53
54
55
 
 
 
 
 
 
 
56
57
58
...
51
52
53
 
 
54
55
56
57
58
59
60
61
62
63
0
@@ -51,8 +51,13 @@ module Rakismet
0
 
0
         def akismet_data
0
           self.class.akismet_attrs.keys.inject({}) do |data,attr|
0
- v = self.class.akismet_attrs[attr].is_a?(Proc) ? instance_eval(&self.class.akismet_attrs[attr]) : send(self.class.akismet_attrs[attr])
0
- data.merge attr => v
0
+ data.merge attr => if self.class.akismet_attrs[attr].is_a?(Proc)
0
+ instance_eval(&self.class.akismet_attrs[attr])
0
+ elsif respond_to?(self.class.akismet_attrs[attr])
0
+ send(self.class.akismet_attrs[attr])
0
+ else
0
+ self.class.akismet_attrs[attr]
0
+ end
0
           end
0
         end
0
     end
...
106
107
108
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
110
111
...
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
0
@@ -106,6 +106,20 @@ describe AkismetModel do
0
     end
0
   end
0
 
0
+ string_params = { :comment_type => 'pingback' }
0
+
0
+ describe string = AkismetModel.subclass('StringParams') { has_rakismet(string_params) } do
0
+
0
+ before do
0
+ @string = string.new
0
+ comment_attrs.each_pair { |k,v| @string.stub!(k).and_return(v) }
0
+ end
0
+
0
+ it "should map string attributes" do
0
+ @string.send(:akismet_data)[:comment_type].should eql('pingback')
0
+ end
0
+ end
0
+
0
   describe ".spam?" do
0
     
0
     before do

Comments

    No one has commented yet.