summaryrefslogtreecommitdiff
path: root/app/services/user_agent_detail_service.rb
diff options
context:
space:
mode:
authorPatricio Cano <suprnova32@gmail.com>2016-07-27 19:03:06 -0500
committerPatricio Cano <suprnova32@gmail.com>2016-08-15 13:17:58 -0500
commit95419679f23f0628d1885dd9656cc159e9d55ea9 (patch)
tree4ec924b2f7dfbfd9e0390065d430c9daff8984bb /app/services/user_agent_detail_service.rb
parent640e485c6aa19f8fca1be7fc45e7f65da4469fbd (diff)
downloadgitlab-ce-95419679f23f0628d1885dd9656cc159e9d55ea9.tar.gz
Lay the ground works to submit information to Akismet
- New concern `AkismetSubmittable` to allow issues and other `Spammable` models to be submitted to Akismet. - New model `UserAgentDetail` to store information needed for Akismet. - Services needed for their creation and tests.
Diffstat (limited to 'app/services/user_agent_detail_service.rb')
-rw-r--r--app/services/user_agent_detail_service.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/services/user_agent_detail_service.rb b/app/services/user_agent_detail_service.rb
new file mode 100644
index 00000000000..dd995955be3
--- /dev/null
+++ b/app/services/user_agent_detail_service.rb
@@ -0,0 +1,12 @@
+class UserAgentDetailService
+ attr_accessor :subject, :request
+
+ def initialize(subject, request)
+ @subject, @request = subject, request
+ end
+
+ def create
+ return unless request
+ subject.create_user_agent_detail(user_agent: request.env['HTTP_USER_AGENT'], ip_address: request.env['action_dispatch.remote_ip'].to_s)
+ end
+end