Commit e2615799 authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'rs-dry-akismet-service' into 'master'

Reduce duplication in AkismetService

See merge request !6362
parents 667d2350 d834ee2c
...@@ -29,25 +29,25 @@ class AkismetService ...@@ -29,25 +29,25 @@ class AkismetService
end end
def submit_ham def submit_ham
return false unless akismet_enabled? submit(:ham)
end
params = { def submit_spam
type: 'comment', submit(:spam)
text: text, end
author: owner.name,
author_email: owner.email
}
begin private
akismet_client.submit_ham(options[:ip_address], options[:user_agent], params)
true def akismet_client
rescue => e @akismet_client ||= ::Akismet::Client.new(current_application_settings.akismet_api_key,
Rails.logger.error("Unable to connect to Akismet: #{e}, skipping!") Gitlab.config.gitlab.url)
false
end
end end
def submit_spam def akismet_enabled?
current_application_settings.akismet_enabled
end
def submit(type)
return false unless akismet_enabled? return false unless akismet_enabled?
params = { params = {
...@@ -58,22 +58,11 @@ class AkismetService ...@@ -58,22 +58,11 @@ class AkismetService
} }
begin 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 true
rescue => e rescue => e
Rails.logger.error("Unable to connect to Akismet: #{e}, skipping!") Rails.logger.error("Unable to connect to Akismet: #{e}, skipping!")
false false
end end
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 end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment