From a6e01d1ab04b70f2fd28fb028a43721be807ca30 Mon Sep 17 00:00:00 2001
From: Thomas Schneider <thomas@fsmpi.rwth-aachen.de>
Date: Fri, 11 Feb 2022 15:43:10 +0100
Subject: [PATCH] Update CI Ruby version, dependencies, apply new rubocop fixes

---
 .gitlab-ci.yml  |   2 +-
 Gemfile         |   2 +-
 Gemfile.lock    | 127 ++++++++++++++++++++++++++++--------------------
 gl-rt-bridge.rb |   8 ++-
 4 files changed, 78 insertions(+), 61 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bcf9ffc..a16da8e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: "ruby:2.5"
+image: "ruby:2.7"
 
 # Cache gems in between builds
 cache:
diff --git a/Gemfile b/Gemfile
index 131d7b8..1f74760 100644
--- a/Gemfile
+++ b/Gemfile
@@ -10,6 +10,6 @@ group :development do
   gem 'pry', '~> 0.12.2'
   gem 'pry-byebug', '~> 3.7'
   gem 'rerun', '~> 0.13.0', require: false
-  gem 'rubocop', '~> 0.76.0', require: false
+  gem 'rubocop', '~> 1.25', require: false
   gem 'solargraph'
 end
diff --git a/Gemfile.lock b/Gemfile.lock
index cdd6762..19a779a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,98 +1,117 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    ast (2.4.0)
-    backport (1.1.2)
-    backports (3.15.0)
-    byebug (11.0.1)
-    coderay (1.1.2)
+    ast (2.4.2)
+    backport (1.2.0)
+    benchmark (0.2.0)
+    byebug (11.1.3)
+    coderay (1.1.3)
+    diff-lcs (1.5.0)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
-    ffi (1.11.3)
+    e2mmap (0.1.0)
+    ffi (1.15.5)
     http-accept (1.7.0)
-    http-cookie (1.0.3)
+    http-cookie (1.0.4)
       domain_name (~> 0.5)
     jaro_winkler (1.5.4)
-    listen (3.2.0)
+    kramdown (2.3.1)
+      rexml
+    kramdown-parser-gfm (1.1.0)
+      kramdown (~> 2.0)
+    listen (3.7.1)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
-    maruku (0.7.3)
     method_source (0.9.2)
-    mime-types (3.3)
+    mime-types (3.4.1)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2019.1009)
-    mini_portile2 (2.4.0)
-    multi_json (1.14.1)
-    mustermann (1.0.3)
+    mime-types-data (3.2022.0105)
+    mini_portile2 (2.7.1)
+    multi_json (1.15.0)
+    mustermann (1.1.1)
+      ruby2_keywords (~> 0.0.1)
     netrc (0.11.0)
-    nokogiri (1.10.5)
-      mini_portile2 (~> 2.4.0)
-    parallel (1.19.1)
-    parser (2.6.5.0)
-      ast (~> 2.4.0)
+    nokogiri (1.13.1)
+      mini_portile2 (~> 2.7.0)
+      racc (~> 1.4)
+    parallel (1.21.0)
+    parser (3.1.0.0)
+      ast (~> 2.4.1)
     pry (0.12.2)
       coderay (~> 1.1.0)
       method_source (~> 0.9.0)
-    pry-byebug (3.7.0)
+    pry-byebug (3.8.0)
       byebug (~> 11.0)
       pry (~> 0.10)
-    rack (2.0.7)
-    rack-protection (2.0.7)
+    racc (1.6.0)
+    rack (2.2.3)
+    rack-protection (2.1.0)
       rack
-    rainbow (3.0.0)
-    rb-fsevent (0.10.3)
-    rb-inotify (0.10.0)
+    rainbow (3.1.1)
+    rb-fsevent (0.11.1)
+    rb-inotify (0.10.1)
       ffi (~> 1.0)
-    rerun (0.13.0)
+    regexp_parser (2.2.0)
+    rerun (0.13.1)
       listen (~> 3.0)
     rest-client (2.1.0)
       http-accept (>= 1.7.0, < 2.0)
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 4.0)
       netrc (~> 0.8)
-    reverse_markdown (1.3.0)
+    reverse_markdown (2.1.1)
       nokogiri
+    rexml (3.2.5)
     rt-client (1.0.2)
       rest-client (~> 2.0, >= 2.0.0)
-    rubocop (0.76.0)
-      jaro_winkler (~> 1.5.1)
+    rubocop (1.25.1)
       parallel (~> 1.10)
-      parser (>= 2.6)
+      parser (>= 3.1.0.0)
       rainbow (>= 2.2.2, < 4.0)
+      regexp_parser (>= 1.8, < 3.0)
+      rexml
+      rubocop-ast (>= 1.15.1, < 2.0)
       ruby-progressbar (~> 1.7)
-      unicode-display_width (>= 1.4.0, < 1.7)
-    ruby-progressbar (1.10.1)
-    sinatra (2.0.7)
+      unicode-display_width (>= 1.4.0, < 3.0)
+    rubocop-ast (1.15.1)
+      parser (>= 3.0.1.1)
+    ruby-progressbar (1.11.0)
+    ruby2_keywords (0.0.5)
+    sinatra (2.1.0)
       mustermann (~> 1.0)
-      rack (~> 2.0)
-      rack-protection (= 2.0.7)
+      rack (~> 2.2)
+      rack-protection (= 2.1.0)
       tilt (~> 2.0)
-    sinatra-contrib (2.0.7)
-      backports (>= 2.8.2)
+    sinatra-contrib (2.1.0)
       multi_json
       mustermann (~> 1.0)
-      rack-protection (= 2.0.7)
-      sinatra (= 2.0.7)
+      rack-protection (= 2.1.0)
+      sinatra (= 2.1.0)
       tilt (~> 2.0)
-    solargraph (0.38.0)
-      backport (~> 1.1)
+    solargraph (0.44.3)
+      backport (~> 1.2)
+      benchmark
       bundler (>= 1.17.2)
+      diff-lcs (~> 1.4)
+      e2mmap
       jaro_winkler (~> 1.5)
-      maruku (~> 0.7, >= 0.7.3)
-      nokogiri (~> 1.9, >= 1.9.1)
-      parser (~> 2.3)
-      reverse_markdown (~> 1.0, >= 1.0.5)
-      rubocop (~> 0.52)
-      thor (~> 0.19, >= 0.19.4)
+      kramdown (~> 2.3)
+      kramdown-parser-gfm (~> 1.1)
+      parser (~> 3.0)
+      reverse_markdown (>= 1.0.5, < 3)
+      rubocop (>= 0.52)
+      thor (~> 1.0)
       tilt (~> 2.0)
-      yard (~> 0.9)
-    thor (0.20.3)
+      yard (~> 0.9, >= 0.9.24)
+    thor (1.2.1)
     tilt (2.0.10)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.6)
-    unicode-display_width (1.6.0)
-    yard (0.9.20)
+    unf_ext (0.0.8)
+    unicode-display_width (2.1.0)
+    webrick (1.7.0)
+    yard (0.9.27)
+      webrick (~> 1.7.0)
 
 PLATFORMS
   ruby
@@ -102,10 +121,10 @@ DEPENDENCIES
   pry-byebug (~> 3.7)
   rerun (~> 0.13.0)
   rt-client (~> 1.0)
-  rubocop (~> 0.76.0)
+  rubocop (~> 1.25)
   sinatra (~> 2.0)
   sinatra-contrib (~> 2.0)
   solargraph
 
 BUNDLED WITH
-   1.17.3
+   2.1.4
diff --git a/gl-rt-bridge.rb b/gl-rt-bridge.rb
index 2c5e8b5..d255d3c 100755
--- a/gl-rt-bridge.rb
+++ b/gl-rt-bridge.rb
@@ -20,9 +20,7 @@ before do
 end
 
 post '/' do # rubocop:disable Metrics/BlockLength
-  unless settings.token.nil?
-    halt 403 unless request.env['HTTP_X_GITLAB_TOKEN'] == settings.token
-  end
+  halt 403 if !settings.token.nil? && request.env['HTTP_X_GITLAB_TOKEN'] != settings.token
   gitlab_event = request.env['HTTP_X_GITLAB_EVENT']
   case gitlab_event
   when 'Push Hook'
@@ -49,10 +47,10 @@ post '/' do # rubocop:disable Metrics/BlockLength
             "#{d[:repository][:name]} (#{d[:repository][:homepage]}) "\
             "referencing this issue:\n".dup
       v.each do |c|
-        msg << c[:url] + "\n"
+        msg << "#{c[:url]}\n"
         msg << "Author: #{c[:author][:name]} <#{c[:author][:email]}>\n"
         msg << "Date:   #{c[:timestamp]}\n\n"
-        msg << c[:message] + "\n\n"
+        msg << "#{c[:message]}\n\n"
       end
       issues[k] = msg.strip
     end
-- 
GitLab