From 518de4e7c442d8965932aba0a8987c2c302de57c Mon Sep 17 00:00:00 2001
From: fosterfarrell9 <28628554+fosterfarrell9@users.noreply.github.com>
Date: Tue, 9 Apr 2024 19:24:48 +0200
Subject: [PATCH 01/14] Only allow admins to change course editors (#610)
* whitelist editor_ids as parameter only for admins
* add helpdesk informing about inability to change editors
* remove unnecessry hash brackets
* fix typos
* put hash in one line
* remove obsolete parameter
* add helpdesk to cSpell
---
.vscode/settings.json | 1 +
app/controllers/courses_controller.rb | 13 ++++++-------
app/views/courses/_basics.html.erb | 3 +++
config/locales/de.yml | 4 ++++
config/locales/en.yml | 4 ++++
5 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 0932c405a..f336f558e 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -89,6 +89,7 @@
//////////////////////////////////////
"cSpell.words": [
"commontator",
+ "helpdesk",
"turbolinks"
]
}
\ No newline at end of file
diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index bfe9704a9..40b51e207 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -94,13 +94,12 @@ def set_course_admin
end
def course_params
- params.require(:course).permit(:title, :short_title, :organizational,
- :organizational_concept, :locale,
- :term_independent, :image,
- tag_ids: [],
- preceding_course_ids: [],
- editor_ids: [],
- division_ids: [])
+ allowed_params = [:title, :short_title, :organizational,
+ :organizational_concept, :locale,
+ :term_independent, :image,
+ { tag_ids: [], preceding_course_ids: [], division_ids: [] }]
+ allowed_params.push(editor_ids: []) if current_user.admin?
+ params.require(:course).permit(allowed_params)
end
def tag_params
diff --git a/app/views/courses/_basics.html.erb b/app/views/courses/_basics.html.erb
index f2bbc8bbc..298e7c283 100644
--- a/app/views/courses/_basics.html.erb
+++ b/app/views/courses/_basics.html.erb
@@ -70,6 +70,9 @@
<% else %>
<%= t('basics.editors') %>
+ <%= helpdesk(t('admin.course.info.no_right_to_change_editors',
+ project_email: mail_to(DefaultSetting::PROJECT_EMAIL)),
+ true) %>
<% course.editors.each do |e| %>
-
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 75f7e2cc6..ab65ef312 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -807,6 +807,10 @@ de:
das Modul bearbeiten, insbesondere können sie Veranstaltungen innerhalb
des Moduls anlegen. ModuleditorInnen erben die Bearbeitungsrechte für
alle Veranstaltungen innerhalb des Moduls.
+ no_right_to_change_editors: >
+ ModuleditorInnen können nur von AdministratorInnen geändert werden.
+ Bitte wende Dich per Email an %{project_email}, wenn hier
+ eine Änderung vorgenommen werden soll.
preceding_courses: >
Hier kannst Du angeben, auf welchen Modulen das
vorliegende Modul aufbaut.
diff --git a/config/locales/en.yml b/config/locales/en.yml
index b7a7ca624..a26f1bc6f 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -772,6 +772,10 @@ en:
in particular they can create event series within the course. Every course
editor inherits editing access for all event series belonging to the
course.
+ no_right_to_change_editors: >
+ Course editors can only be changed by administrators.
+ Please contact %{project_email} by email if you want a change to be made
+ here.
preceding_courses: >
Here you can enter which courses this course builds upon.
E.g., Linear Algebra 1 and Linear Algebra 2 might be preceding
From bb8db3ee68a17cfc145f465dcd67ccc3b4f34eb9 Mon Sep 17 00:00:00 2001
From: Splines <37160523+Splines@users.noreply.github.com>
Date: Tue, 9 Apr 2024 19:33:56 +0200
Subject: [PATCH 02/14] Use new preseed links to init data in local db (#612)
---
docker/development/docker-compose.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docker/development/docker-compose.yml b/docker/development/docker-compose.yml
index 212d2fd6f..185fcb2d0 100644
--- a/docker/development/docker-compose.yml
+++ b/docker/development/docker-compose.yml
@@ -115,8 +115,8 @@ services:
PROJECT_EMAIL_MAILBOX: INBOX
BLOG: https://mampf.blog
# uncomment DB_SQL_PRESEED_URL and UPLOADS_PRESEED_URL to enable db preseeding
- # DB_SQL_PRESEED_URL: "https://heibox.uni-heidelberg.de/d/6fb4a9d2e7f54d8b9931/files/?p=%2F20220923120841_mampf.sql&dl=1"
- # UPLOADS_PRESEED_URL: "https://heibox.uni-heidelberg.de/f/1c4804dcd78446139fd9/?dl=1"
+ DB_SQL_PRESEED_URL: "https://github.com/MaMpf-HD/mampf-init-data/raw/main/data/20220923120841_mampf.sql"
+ UPLOADS_PRESEED_URL: "https://github.com/MaMpf-HD/mampf-init-data/raw/main/data/uploads.zip"
volumes:
- type: bind
source: ../../
From a807610afb14214fb83a2c2ec7153f82fd86e72a Mon Sep 17 00:00:00 2001
From: Splines <37160523+Splines@users.noreply.github.com>
Date: Tue, 16 Apr 2024 14:12:07 +0200
Subject: [PATCH 03/14] Uncomment preseed docker env variables (#615)
---
docker/development/docker-compose.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docker/development/docker-compose.yml b/docker/development/docker-compose.yml
index 185fcb2d0..226c43a50 100644
--- a/docker/development/docker-compose.yml
+++ b/docker/development/docker-compose.yml
@@ -115,8 +115,8 @@ services:
PROJECT_EMAIL_MAILBOX: INBOX
BLOG: https://mampf.blog
# uncomment DB_SQL_PRESEED_URL and UPLOADS_PRESEED_URL to enable db preseeding
- DB_SQL_PRESEED_URL: "https://github.com/MaMpf-HD/mampf-init-data/raw/main/data/20220923120841_mampf.sql"
- UPLOADS_PRESEED_URL: "https://github.com/MaMpf-HD/mampf-init-data/raw/main/data/uploads.zip"
+ # DB_SQL_PRESEED_URL: "https://github.com/MaMpf-HD/mampf-init-data/raw/main/data/20220923120841_mampf.sql"
+ # UPLOADS_PRESEED_URL: "https://github.com/MaMpf-HD/mampf-init-data/raw/main/data/uploads.zip"
volumes:
- type: bind
source: ../../
From bcf6b589be154ea6043e579fe790756eb6646125 Mon Sep 17 00:00:00 2001
From: Splines <37160523+Splines@users.noreply.github.com>
Date: Tue, 16 Apr 2024 14:12:22 +0200
Subject: [PATCH 04/14] Add `public` prefix for `gen_random_uuid()` (#619)
---
db/schema.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/db/schema.rb b/db/schema.rb
index 70e865353..10760481e 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -433,7 +433,7 @@
t.index ["subject_id"], name: "index_programs_on_subject_id"
end
- create_table "quiz_certificates", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
+ create_table "quiz_certificates", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t|
t.bigint "quiz_id", null: false
t.bigint "user_id"
t.text "code"
@@ -519,7 +519,7 @@
t.datetime "updated_at", null: false
end
- create_table "submissions", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
+ create_table "submissions", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t|
t.bigint "tutorial_id", null: false
t.bigint "assignment_id", null: false
t.text "token"
From ab971842913ae60bf845ab293f5a05860649219b Mon Sep 17 00:00:00 2001
From: Splines <37160523+Splines@users.noreply.github.com>
Date: Tue, 16 Apr 2024 14:12:39 +0200
Subject: [PATCH 05/14] Don't raise exception migration anymore (#620)
---
...20240116180000_fix_unread_comments_inconsistencies.rb | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/db/migrate/20240116180000_fix_unread_comments_inconsistencies.rb b/db/migrate/20240116180000_fix_unread_comments_inconsistencies.rb
index 9d1a0eb19..9c6e20f5a 100644
--- a/db/migrate/20240116180000_fix_unread_comments_inconsistencies.rb
+++ b/db/migrate/20240116180000_fix_unread_comments_inconsistencies.rb
@@ -41,7 +41,14 @@ def up
# issue after having run this migration.
#
# This migration took ~40 minutes to run for ~7000 users at 2024-02-15, 0:40.
- raise ActiveRecord::IrreversibleMigration
+
+ # We don't want to run this migration again, so we raise an error here.
+ # However, this meant that one had to delete this migration in order to setup
+ # a new database locally. Since we have a new migration that fixes the underlying
+ # issue, we don't really need this broken migration anymore.
+ # Therefore, we just don't do anything here and even comment out
+ # the raise statement.
+ # raise ActiveRecord::IrreversibleMigration
# For archive reasons, here is the original code:
From 420e568503d835451acf700aef4444677319f369 Mon Sep 17 00:00:00 2001
From: Splines <37160523+Splines@users.noreply.github.com>
Date: Tue, 16 Apr 2024 14:12:55 +0200
Subject: [PATCH 06/14] Use new identifier for Ruby LSP VSCode plugin settings
(#616)
---
.vscode/settings.json | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/.vscode/settings.json b/.vscode/settings.json
index f336f558e..57b609afb 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -30,7 +30,9 @@
"editor.formatOnSave": true
},
"rubyLsp.formatter": "rubocop",
- "rubyLsp.rubyVersionManager": "rbenv",
+ "rubyLsp.rubyVersionManager": {
+ "identifier": "rbenv"
+ },
"rubyLsp.enabledFeatures": {
"codeActions": true,
"diagnostics": true,
From 33ec4192ac4f35e4fffe5a1e1f72b5497807c9c5 Mon Sep 17 00:00:00 2001
From: Splines <37160523+Splines@users.noreply.github.com>
Date: Tue, 16 Apr 2024 14:13:25 +0200
Subject: [PATCH 07/14] Fix broken tag highlighting (#618)
This fixes #556.
---
app/assets/javascripts/lectures.coffee | 1 -
1 file changed, 1 deletion(-)
diff --git a/app/assets/javascripts/lectures.coffee b/app/assets/javascripts/lectures.coffee
index e8a0f5587..81ed855a0 100644
--- a/app/assets/javascripts/lectures.coffee
+++ b/app/assets/javascripts/lectures.coffee
@@ -136,7 +136,6 @@ $(document).on 'turbolinks:load', ->
tags = $(this).data('tags')
for t in tags
$('.lecture-tag[data-id="'+t+'"]').removeClass('bg-warning')
- .addClass('bg-light')
return
# mouseenter over lesson -> colorize tags
From 098da70f6f0a125abd69027c13d75b9a7ad0c73d Mon Sep 17 00:00:00 2001
From: Splines <37160523+Splines@users.noreply.github.com>
Date: Wed, 17 Apr 2024 01:43:42 +0200
Subject: [PATCH 08/14] Clean up config files (and use new `.config` dir)
(#613)
* Remove unused config files
* Move `eslint` config file to `.config` directory
* Upgrade rubocop version
You will have to run `bundle install` locally.
* Move rubocop and erblint config to `.config` folder
* Add Readme to `.config` directory
* Move `coffeelint` config files to `.config/` folder
* Fix config directory in linter workflow
* Upgrade ESLint version to `9.0.0`
* Fix wording in eslint config comment
* Delete unused `.rspec`
* Remove `.coffeelint.json` config
* Update `.config` Readme
* Fix relative path in rubocop config
---
.browserslistrc | 1 -
.coffeelint.json | 135 ------------------------
.erb-lint.yml => .config/.erb-lint.yml | 1 +
.rubocop.yml => .config/.rubocop.yml | 2 +-
.config/README.md | 6 ++
eslint.config.mjs => .config/eslint.mjs | 2 +-
.dockerignore | 1 -
.github/workflows/linter.yml | 2 +-
.rspec | 3 -
.travis.yml | 15 ---
.vscode/settings.json | 6 +-
Gemfile | 6 +-
Gemfile.lock | 33 +++---
app/views/layouts/_head.html.erb | 4 -
babel.config.js | 70 ------------
package.json | 2 +-
yarn.lock | 124 ++++++++++++----------
17 files changed, 103 insertions(+), 310 deletions(-)
delete mode 100644 .browserslistrc
delete mode 100644 .coffeelint.json
rename .erb-lint.yml => .config/.erb-lint.yml (90%)
rename .rubocop.yml => .config/.rubocop.yml (99%)
create mode 100644 .config/README.md
rename eslint.config.mjs => .config/eslint.mjs (99%)
delete mode 100644 .rspec
delete mode 100644 .travis.yml
delete mode 100644 babel.config.js
diff --git a/.browserslistrc b/.browserslistrc
deleted file mode 100644
index e94f8140c..000000000
--- a/.browserslistrc
+++ /dev/null
@@ -1 +0,0 @@
-defaults
diff --git a/.coffeelint.json b/.coffeelint.json
deleted file mode 100644
index 6bfd6487f..000000000
--- a/.coffeelint.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "arrow_spacing": {
- "level": "warn"
- },
- "braces_spacing": {
- "level": "warn",
- "spaces": 1,
- "empty_object_spaces": 0
- },
- "camel_case_classes": {
- "level": "error"
- },
- "coffeescript_error": {
- "level": "error"
- },
- "colon_assignment_spacing": {
- "level": "warn",
- "spacing": {
- "left": 0,
- "right": 1
- }
- },
- "cyclomatic_complexity": {
- "level": "warn",
- "value": 10
- },
- "duplicate_key": {
- "level": "error"
- },
- "empty_constructor_needs_parens": {
- "level": "warn"
- },
- "ensure_comprehensions": {
- "level": "warn"
- },
- "eol_last": {
- "level": "warn"
- },
- "indentation": {
- "value": 2,
- "level": "error"
- },
- "line_endings": {
- "level": "warn",
- "value": "unix"
- },
- "max_line_length": {
- "value": 80,
- "level": "ignore",
- "limitComments": true
- },
- "missing_fat_arrows": {
- "level": "ignore"
- },
- "newlines_after_classes": {
- "value": 3,
- "level": "warn"
- },
- "no_backticks": {
- "level": "error"
- },
- "no_debugger": {
- "level": "warn",
- "console": false
- },
- "no_empty_functions": {
- "level": "warn"
- },
- "no_empty_param_list": {
- "level": "warn"
- },
- "no_implicit_braces": {
- "level": "ignore",
- "strict": true
- },
- "no_implicit_parens": {
- "level": "ignore",
- "strict": true
- },
- "no_interpolation_in_single_quotes": {
- "level": "warn"
- },
- "no_nested_string_interpolation": {
- "level": "warn"
- },
- "no_plusplus": {
- "level": "warn"
- },
- "no_private_function_fat_arrows": {
- "level": "warn"
- },
- "no_stand_alone_at": {
- "level": "warn"
- },
- "no_tabs": {
- "level": "error"
- },
- "no_this": {
- "level": "warn"
- },
- "no_throwing_strings": {
- "level": "error"
- },
- "no_trailing_semicolons": {
- "level": "error"
- },
- "no_trailing_whitespace": {
- "level": "error",
- "allowed_in_comments": false,
- "allowed_in_empty_lines": true
- },
- "no_unnecessary_double_quotes": {
- "level": "warn"
- },
- "no_unnecessary_fat_arrows": {
- "level": "warn"
- },
- "non_empty_constructor_needs_parens": {
- "level": "warn"
- },
- "prefer_english_operator": {
- "level": "ignore",
- "doubleNotLevel": "warn"
- },
- "space_operators": {
- "level": "warn"
- },
- "spacing_after_comma": {
- "level": "warn"
- },
- "transform_messes_up_line_numbers": {
- "level": "warn"
- }
- }
-
\ No newline at end of file
diff --git a/.erb-lint.yml b/.config/.erb-lint.yml
similarity index 90%
rename from .erb-lint.yml
rename to .config/.erb-lint.yml
index 48d5f74d1..5b8aba745 100644
--- a/.erb-lint.yml
+++ b/.config/.erb-lint.yml
@@ -1,3 +1,4 @@
+# Not used right now
---
EnableDefaultLinters: true
linters:
diff --git a/.rubocop.yml b/.config/.rubocop.yml
similarity index 99%
rename from .rubocop.yml
rename to .config/.rubocop.yml
index c625d63ec..cc781ea1b 100644
--- a/.rubocop.yml
+++ b/.config/.rubocop.yml
@@ -105,7 +105,7 @@ Style/MethodCallWithArgsParentheses:
AllowedPatterns: [^redirect_]
# Don't enforce in migrations, as we have methods like `add_column`,
# `change_column` etc. and parentheses would be very annoying there.
- Exclude: ["db/**/*"]
+ Exclude: ["../db/**/*"]
Style/RedundantReturn:
AllowMultipleReturnValues: true
diff --git a/.config/README.md b/.config/README.md
new file mode 100644
index 000000000..f71a48028
--- /dev/null
+++ b/.config/README.md
@@ -0,0 +1,6 @@
+# Config settings
+
+This directory contains configuration files for the project according to the [`.config/` directory proposal](https://github.com/pi0/config-dir).
+
+Note that we currently don't use these files (but might in the near future):
+- `.erb-lint.myl`
diff --git a/eslint.config.mjs b/.config/eslint.mjs
similarity index 99%
rename from eslint.config.mjs
rename to .config/eslint.mjs
index 0d2ada414..c7a82fe39 100644
--- a/eslint.config.mjs
+++ b/.config/eslint.mjs
@@ -96,7 +96,7 @@ export default [
js.configs.recommended,
// Allow linting of ERB files, see https://github.com/Splines/eslint-plugin-erb
erb.configs.recommended,
- // Globally ignore the following files
+ // Globally ignore the following paths
{
ignores: [
"node_modules/",
diff --git a/.dockerignore b/.dockerignore
index 097e4c485..844014fb0 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -3,7 +3,6 @@ docker/developement/Dockerfile
docker/run_tests/docker-compose.yml
docker/run_tests/Dockerfile
**/.git
-.travis*
LICENSE
README.md
mampf-gui-transparent.png
diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml
index e40132f75..230aafd40 100644
--- a/.github/workflows/linter.yml
+++ b/.github/workflows/linter.yml
@@ -72,4 +72,4 @@ jobs:
if: ${{ steps.js-changed.outputs.changed-files != ''}}
run: |
echo "🚨 Running ESLint version: $(yarn run --silent eslint --version)"
- yarn run eslint --max-warnings 0 --no-warn-ignored ${{ steps.js-changed.outputs.changed-files }}
+ yarn run eslint --config ./.config/eslint.mjs --max-warnings 0 --no-warn-ignored ${{ steps.js-changed.outputs.changed-files }}
diff --git a/.rspec b/.rspec
deleted file mode 100644
index 83c8466f5..000000000
--- a/.rspec
+++ /dev/null
@@ -1,3 +0,0 @@
---color
---require rails_helper
---format documentation
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index a1fdba20e..000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-language: ruby
-service:
- - docker
-
-
-before_install:
- - cd docker/run_tests/
-
-install:
- - docker-compose build
-
-before_script:
-
-script:
- - docker-compose up --abort-on-container-exit
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 57b609afb..473af2bd1 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -16,6 +16,9 @@
"eslint.experimental.useFlatConfig": true,
// this disables VSCode built-in formatter (instead we want to use ESLint)
"javascript.validate.enable": false,
+ "eslint.options": {
+ "overrideConfigFile": ".config/eslint.mjs"
+ },
//////////////////////////////////////
// HTML
//////////////////////////////////////
@@ -93,5 +96,6 @@
"commontator",
"helpdesk",
"turbolinks"
- ]
+ ],
+ "rubyLsp.customRubyCommand": "set -o allexport && . ./docker-dummy.env && set +o allexport"
}
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
index aa44445ae..ff97daa92 100644
--- a/Gemfile
+++ b/Gemfile
@@ -111,9 +111,9 @@ group :development, :docker_development do
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem "marcel"
gem "pgreset"
- gem "rubocop", "~> 1.57", require: false
- gem "rubocop-performance", "~> 1.16", require: false
- gem "rubocop-rails", "~> 2.22", ">= 2.22.1", require: false
+ gem "rubocop", "~> 1.63", require: false
+ gem "rubocop-performance", "~> 1.21", require: false
+ gem "rubocop-rails", "~> 2.24", require: false
gem "spring"
gem "spring-watcher-listen", "~> 2.0.0"
# gem 'bullet'
diff --git a/Gemfile.lock b/Gemfile.lock
index 946c11b31..f1a5bd214 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -284,7 +284,7 @@ GEM
js-routes (1.4.9)
railties (>= 4)
sprockets-rails
- json (2.6.3)
+ json (2.7.2)
jsonapi-renderer (0.2.2)
kaminari (1.2.2)
activesupport (>= 4.1.0)
@@ -359,8 +359,8 @@ GEM
options (2.3.2)
orm_adapter (0.5.0)
pairing_heap (3.0.0)
- parallel (1.23.0)
- parser (3.2.2.4)
+ parallel (1.24.0)
+ parser (3.3.0.5)
ast (~> 2.4.1)
racc
pdf-reader (2.11.0)
@@ -443,7 +443,7 @@ GEM
ffi (~> 1.0)
redis-client (0.14.1)
connection_pool
- regexp_parser (2.8.2)
+ regexp_parser (2.9.0)
request_store (1.5.1)
rack (>= 1.4)
responders (3.1.0)
@@ -484,26 +484,27 @@ GEM
rspec-mocks (~> 3.11)
rspec-support (~> 3.11)
rspec-support (3.12.0)
- rubocop (1.57.2)
+ rubocop (1.63.0)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
- parser (>= 3.2.2.4)
+ parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
- rubocop-ast (>= 1.28.1, < 2.0)
+ rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.30.0)
- parser (>= 3.2.1.0)
- rubocop-performance (1.19.1)
- rubocop (>= 1.7.0, < 2.0)
- rubocop-ast (>= 0.4.0)
- rubocop-rails (2.22.1)
+ rubocop-ast (1.31.2)
+ parser (>= 3.3.0.4)
+ rubocop-performance (1.21.0)
+ rubocop (>= 1.48.1, < 2.0)
+ rubocop-ast (>= 1.31.1, < 2.0)
+ rubocop-rails (2.24.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
+ rubocop-ast (>= 1.31.1, < 2.0)
ruby-graphviz (1.2.5)
rexml
ruby-progressbar (1.13.0)
@@ -701,9 +702,9 @@ DEPENDENCIES
rgl
rqrcode
rspec-rails
- rubocop (~> 1.57)
- rubocop-performance (~> 1.16)
- rubocop-rails (~> 2.22, >= 2.22.1)
+ rubocop (~> 1.63)
+ rubocop-performance (~> 1.21)
+ rubocop-rails (~> 2.24)
rubyzip (~> 2.3.0)
sass-rails (>= 6)
selenium-webdriver
diff --git a/app/views/layouts/_head.html.erb b/app/views/layouts/_head.html.erb
index a40692503..c67acb869 100644
--- a/app/views/layouts/_head.html.erb
+++ b/app/views/layouts/_head.html.erb
@@ -17,10 +17,6 @@
<%= javascript_include_tag 'application',
'data-turbolinks-track': 'reload' %>
-