summaryrefslogtreecommitdiff
path: root/app/services/spam_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/spam_service.rb')
-rw-r--r--app/services/spam_service.rb35
1 files changed, 3 insertions, 32 deletions
diff --git a/app/services/spam_service.rb b/app/services/spam_service.rb
index babe69cfdc8..ba9b812a01c 100644
--- a/app/services/spam_service.rb
+++ b/app/services/spam_service.rb
@@ -1,10 +1,12 @@
# frozen_string_literal: true
class SpamService
+ include AkismetMethods
+
attr_accessor :spammable, :request, :options
attr_reader :spam_log
- def initialize(spammable, request = nil)
+ def initialize(spammable:, request:)
@spammable = spammable
@request = request
@options = {}
@@ -19,16 +21,6 @@ class SpamService
end
end
- def mark_as_spam!
- return false unless spammable.submittable_as_spam?
-
- if akismet.submit_spam
- spammable.user_agent_detail.update_attribute(:submitted, true)
- else
- false
- end
- end
-
def when_recaptcha_verified(recaptcha_verified, api = false)
# In case it's a request which is already verified through recaptcha, yield
# block.
@@ -54,27 +46,6 @@ class SpamService
true
end
- def akismet
- @akismet ||= AkismetService.new(
- spammable_owner,
- spammable.spammable_text,
- options
- )
- end
-
- def spammable_owner
- @user ||= User.find(spammable_owner_id)
- end
-
- def spammable_owner_id
- @owner_id ||=
- if spammable.respond_to?(:author_id)
- spammable.author_id
- elsif spammable.respond_to?(:creator_id)
- spammable.creator_id
- end
- end
-
def check_for_spam?
spammable.check_for_spam?
end