From a7da4b68820755481240bb367ba879ba2fc96458 Mon Sep 17 00:00:00 2001 From: Francisco Marcelo de Araújo Lima Júnior Date: Thu, 10 Jul 2014 17:50:46 -0300 Subject: [PATCH] Updates anti_spam plugin --- plugins/anti_spam/Gemfile | 2 +- plugins/anti_spam/dependencies.rb | 1 - plugins/anti_spam/lib/anti_spam_plugin.rb | 2 +- plugins/anti_spam/lib/anti_spam_plugin/suggest_article_wrapper.rb | 7 ++++++- plugins/anti_spam/lib/anti_spam_plugin/wrapper.rb | 1 + plugins/anti_spam/test/unit/anti_spam_plugin/suggest_article_wrapper_test.rb | 4 ++-- plugins/anti_spam/test/unit/anti_spam_plugin/wrapper_test.rb | 16 ++++++++++++++++ 7 files changed, 27 insertions(+), 6 deletions(-) delete mode 100644 plugins/anti_spam/dependencies.rb diff --git a/plugins/anti_spam/Gemfile b/plugins/anti_spam/Gemfile index 69729f8..f461508 100644 --- a/plugins/anti_spam/Gemfile +++ b/plugins/anti_spam/Gemfile @@ -1 +1 @@ -gem 'rakismet' +gem 'rakismet', '~> 1.5.0' diff --git a/plugins/anti_spam/dependencies.rb b/plugins/anti_spam/dependencies.rb deleted file mode 100644 index 3478c48..0000000 --- a/plugins/anti_spam/dependencies.rb +++ /dev/null @@ -1 +0,0 @@ -require 'rakismet' diff --git a/plugins/anti_spam/lib/anti_spam_plugin.rb b/plugins/anti_spam/lib/anti_spam_plugin.rb index 78e246e..ee7e5e5 100644 --- a/plugins/anti_spam/lib/anti_spam_plugin.rb +++ b/plugins/anti_spam/lib/anti_spam_plugin.rb @@ -9,7 +9,7 @@ class AntiSpamPlugin < Noosfero::Plugin end def self.host_default_setting - 'api.antispam.typepad.com' + 'rest.akismet.com' end def check_for_spam(object) diff --git a/plugins/anti_spam/lib/anti_spam_plugin/suggest_article_wrapper.rb b/plugins/anti_spam/lib/anti_spam_plugin/suggest_article_wrapper.rb index 1be13a1..824f226 100644 --- a/plugins/anti_spam/lib/anti_spam_plugin/suggest_article_wrapper.rb +++ b/plugins/anti_spam/lib/anti_spam_plugin/suggest_article_wrapper.rb @@ -1,8 +1,13 @@ class AntiSpamPlugin::SuggestArticleWrapper < AntiSpamPlugin::Wrapper + alias_attribute :author, :name alias_attribute :author_email, :email alias_attribute :user_ip, :ip_address - alias_attribute :content, :article_body + + def content + article && article[:body] + end + def self.wraps?(object) object.kind_of?(SuggestArticle) diff --git a/plugins/anti_spam/lib/anti_spam_plugin/wrapper.rb b/plugins/anti_spam/lib/anti_spam_plugin/wrapper.rb index 44490ba..ee444d8 100644 --- a/plugins/anti_spam/lib/anti_spam_plugin/wrapper.rb +++ b/plugins/anti_spam/lib/anti_spam_plugin/wrapper.rb @@ -14,6 +14,7 @@ class AntiSpamPlugin::Wrapper < SimpleDelegator end def self.inherited(child) + child.rakismet_attrs wrappers << child end end diff --git a/plugins/anti_spam/test/unit/anti_spam_plugin/suggest_article_wrapper_test.rb b/plugins/anti_spam/test/unit/anti_spam_plugin/suggest_article_wrapper_test.rb index c751506..e5ac1ed 100644 --- a/plugins/anti_spam/test/unit/anti_spam_plugin/suggest_article_wrapper_test.rb +++ b/plugins/anti_spam/test/unit/anti_spam_plugin/suggest_article_wrapper_test.rb @@ -4,7 +4,7 @@ class AntiSpamPlugin::SuggestArticleWrapperTest < ActiveSupport::TestCase def setup @suggest_article = SuggestArticle.new( - :article_body => 'comment body', + :article => {:body=> 'comment body'}, :name => 'author', :email => 'foo@example.com', :ip_address => '1.2.3.4', @@ -15,7 +15,7 @@ class AntiSpamPlugin::SuggestArticleWrapperTest < ActiveSupport::TestCase end should 'get contents' do - assert_equal @suggest_article.article_body, @wrapper.content + assert_equal @suggest_article.article[:body], @wrapper.content end should 'get author name' do diff --git a/plugins/anti_spam/test/unit/anti_spam_plugin/wrapper_test.rb b/plugins/anti_spam/test/unit/anti_spam_plugin/wrapper_test.rb index fd0a3d4..e31b387 100644 --- a/plugins/anti_spam/test/unit/anti_spam_plugin/wrapper_test.rb +++ b/plugins/anti_spam/test/unit/anti_spam_plugin/wrapper_test.rb @@ -2,6 +2,11 @@ require 'test_helper' require 'anti_spam_plugin/wrapper' class AntiSpamPluginWrapperTest < ActiveSupport::TestCase + + def teardown + AntiSpamPlugin::Wrapper.wrappers = [] + end + should 'use Rakismet::Model' do wrapped = AntiSpamPlugin::Wrapper.new(mock) assert_includes wrapped.class.included_modules, Rakismet::Model @@ -22,4 +27,15 @@ class AntiSpamPluginWrapperTest < ActiveSupport::TestCase assert AntiSpamPlugin::Wrapper.wrap(5).kind_of?(OddWrapper) assert AntiSpamPlugin::Wrapper.wrap(6).kind_of?(EvenWrapper) end + + should 'define rakismet_attrs' do + class AnyWrapper < AntiSpamPlugin::Wrapper + def self.wraps?(object) + true + end + end + + assert_not_nil AnyWrapper.new(Object.new).send :akismet_data + end + end -- libgit2 0.21.2