lib/rakismet/model.rb in rakismet-1.4.0 vs lib/rakismet/model.rb in rakismet-1.5.0
- old
+ new
@@ -36,11 +36,11 @@
module InstanceMethods
def spam?
if instance_variable_defined? :@_spam
@_spam
else
- data = akismet_data
+ data = akismet_data(true) # Only spam? check should include http_headers
self.akismet_response = Rakismet.akismet_call('comment-check', data)
@_spam = self.akismet_response == 'true'
end
end
@@ -54,11 +54,11 @@
@_spam = false
end
private
- def akismet_data
+ def akismet_data(include_http_headers = false)
akismet = self.class.akismet_attrs.keys.inject({}) do |data,attr|
mapped_field = self.class.akismet_attrs[attr]
data.merge attr => if mapped_field.is_a?(Proc)
instance_eval(&mapped_field)
elsif !mapped_field.nil? && respond_to?(mapped_field)
@@ -74,9 +74,10 @@
send(attr)
elsif Rakismet.request.respond_to?(attr)
Rakismet.request.send(attr)
end
end
+ akismet.merge! Rakismet.request.http_headers if include_http_headers and Rakismet.request.http_headers
akismet.delete_if { |k,v| v.nil? || v.empty? }
akismet[:comment_type] ||= 'comment'
akismet
end
end