diff options
Diffstat (limited to 'app/services/spam/akismet_mark_as_spam_service.rb')
-rw-r--r-- | app/services/spam/akismet_mark_as_spam_service.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/services/spam/akismet_mark_as_spam_service.rb b/app/services/spam/akismet_mark_as_spam_service.rb new file mode 100644 index 00000000000..da5506b9a21 --- /dev/null +++ b/app/services/spam/akismet_mark_as_spam_service.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Spam + class AkismetMarkAsSpamService + include ::AkismetMethods + + attr_accessor :target, :options + + def initialize(target:) + @target = target + @options = {} + end + + def execute + @options[:ip_address] = @target.ip_address + @options[:user_agent] = @target.user_agent + + return unless target.submittable_as_spam? + return unless akismet.submit_spam + + target.user_agent_detail.update_attribute(:submitted, true) + end + end +end |