Module: Rakismet::ModelExtensions::ClassMethods

Defined in:
lib/rakismet/model_extensions.rb

Instance Method Summary collapse

Instance Method Details

#has_rakismet(args = {}) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/rakismet/model_extensions.rb', line 14

def has_rakismet(args={})
  self.akismet_attrs ||= {}
  [:comment_type, :author, :author_url, :author_email, :content].each do |field|
     # clunky, but throwing around +type+ will break your heart
     fieldname = field.to_s =~ %r(^comment_) ? field : "comment_#{field}".intern
     self.akismet_attrs[fieldname] = args.delete(field) || field
  end
  [:user_ip, :user_agent, :referrer].each do |field|
    self.akismet_attrs[field] = (args.delete(field) || field) if args.has_key?(field) or self.public_instance_methods.include?(field.to_s)
  end
  args.each_pair do |f,v|
    self.akismet_attrs[f] = v
  end
end