Class: UserAgentDetailService

Inherits:
Object
  • Object
show all
Defined in:
app/services/user_agent_detail_service.rb

Instance Method Summary collapse

Constructor Details

#initialize(spammable:, perform_spam_check:) ⇒ UserAgentDetailService

Returns a new instance of UserAgentDetailService.



4
5
6
7
# File 'app/services/user_agent_detail_service.rb', line 4

def initialize(spammable:, perform_spam_check:)
  @spammable = spammable
  @perform_spam_check = perform_spam_check
end

Instance Method Details

#createObject



9
10
11
12
13
14
15
16
17
# File 'app/services/user_agent_detail_service.rb', line 9

def create
  spam_params = Gitlab::RequestContext.instance.spam_params
  if !perform_spam_check || spam_params&.user_agent.blank? || spam_params&.ip_address.blank?
    message = 'Skipped UserAgentDetail creation because necessary spam_params were not provided'
    return ServiceResponse.success(message: message)
  end

  spammable.create_user_agent_detail(user_agent: spam_params.user_agent, ip_address: spam_params.ip_address)
end