提交 e2615799 编写于 作者: R Rémy Coutable

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

Reduce duplication in AkismetService

See merge request !6362
......@@ -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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册