diff options
Diffstat (limited to 'app/services/user_agent_detail_service.rb')
-rw-r--r-- | app/services/user_agent_detail_service.rb | 17 |
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 |