Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/user_agent_detail_service.rb')
-rw-r--r--app/services/user_agent_detail_service.rb17
1 files changed, 11 insertions, 6 deletions
diff --git a/app/services/user_agent_detail_service.rb b/app/services/user_agent_detail_service.rb
index 9302c86d3e6..01a98a15869 100644
--- a/app/services/user_agent_detail_service.rb
+++ b/app/services/user_agent_detail_service.rb
@@ -1,16 +1,21 @@
# frozen_string_literal: true
class UserAgentDetailService
- attr_accessor :spammable, :request
-
- def initialize(spammable, request)
+ def initialize(spammable:, spam_params:)
@spammable = spammable
- @request = request
+ @spam_params = spam_params
end
def create
- return unless request
+ unless spam_params&.user_agent && spam_params&.ip_address
+ messasge = 'Skipped UserAgentDetail creation because necessary spam_params were not provided'
+ return ServiceResponse.success(message: messasge)
+ end
- spammable.create_user_agent_detail(user_agent: request.env['HTTP_USER_AGENT'], ip_address: request.env['action_dispatch.remote_ip'].to_s)
+ spammable.create_user_agent_detail(user_agent: spam_params.user_agent, ip_address: spam_params.ip_address)
end
+
+ private
+
+ attr_reader :spammable, :spam_params
end