diff options
Diffstat (limited to 'app/services/akismet_service.rb')
-rw-r--r-- | app/services/akismet_service.rb | 43 |
1 files changed, 16 insertions, 27 deletions
diff --git a/app/services/akismet_service.rb b/app/services/akismet_service.rb index 5c60addbe7c..76b9f1feda7 100644 --- a/app/services/akismet_service.rb +++ b/app/services/akismet_service.rb @@ -29,25 +29,25 @@ class AkismetService end def submit_ham - return false unless akismet_enabled? + submit(:ham) + end - params = { - type: 'comment', - text: text, - author: owner.name, - author_email: owner.email - } + def submit_spam + submit(:spam) + end - begin - akismet_client.submit_ham(options[:ip_address], options[:user_agent], params) - true - rescue => e - Rails.logger.error("Unable to connect to Akismet: #{e}, skipping!") - false - end + private + + def akismet_client + @akismet_client ||= ::Akismet::Client.new(current_application_settings.akismet_api_key, + Gitlab.config.gitlab.url) end - def submit_spam + def akismet_enabled? + current_application_settings.akismet_enabled + end + + def submit(type) return false unless akismet_enabled? params = { @@ -58,22 +58,11 @@ class AkismetService } begin - akismet_client.submit_spam(options[:ip_address], options[:user_agent], params) + akismet_client.public_send(type, options[:ip_address], options[:user_agent], params) true rescue => e Rails.logger.error("Unable to connect to Akismet: #{e}, skipping!") false end end - - private - - def akismet_client - @akismet_client ||= ::Akismet::Client.new(current_application_settings.akismet_api_key, - Gitlab.config.gitlab.url) - end - - def akismet_enabled? - current_application_settings.akismet_enabled - end end |