diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index aa834d64..58700991 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,32 +1,98 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2017-01-03 04:53:24 +0100 using RuboCop version 0.45.0. +# on 2018-02-11 20:53:46 +0000 using RuboCop version 0.52.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 3 +# Offense count: 1 +Lint/BooleanSymbol: + Exclude: + - 'app/controllers/setup_controller.rb' + +# Offense count: 10 Metrics/AbcSize: Max: 32 -# Offense count: 3 -# Configuration parameters: CountComments. +# Offense count: 26 +# Configuration parameters: CountComments, ExcludedMethods. Metrics/BlockLength: Max: 121 -# Offense count: 156 -# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives. -# URISchemes: http, https -Metrics/LineLength: - Max: 120 - -# Offense count: 7 +# Offense count: 12 # Configuration parameters: CountComments. Metrics/MethodLength: Max: 17 -# Offense count: 24 +# Offense count: 2 +# Configuration parameters: Include. +# Include: db/migrate/*.rb +Rails/CreateTableWithTimestamps: + Exclude: + - 'db/migrate/20170103063306_create_author_submission_join_table.rb' + - 'db/migrate/20170108014805_create_memberships_teams_join_table.rb' + +# Offense count: 6 +Rails/FilePath: + Exclude: + - 'app/controllers/setup_controller.rb' + - 'config/environments/development.rb' + - 'config/initializers/paperclip.rb' + - 'config/initializers/sidekiq.rb' + - 'lib/tasks/cucumber.rake' + +# Offense count: 3 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/HasManyOrHasOneDependent: + Exclude: + - 'app/models/membership.rb' + - 'app/models/team.rb' + - 'app/models/test.rb' + +# Offense count: 4 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/InverseOf: + Exclude: + - 'app/models/course.rb' + - 'app/models/submission.rb' + - 'app/models/team.rb' + - 'app/models/user.rb' + +# Offense count: 1 +# Configuration parameters: Include. +# Include: db/migrate/*.rb +Rails/ReversibleMigration: + Exclude: + - 'db/migrate/20170108202754_drop_author_submissions_join_table.rb' + +# Offense count: 2 +# Configuration parameters: Blacklist. +# Blacklist: decrement!, decrement_counter, increment!, increment_counter, toggle!, touch, update_all, update_attribute, update_column, update_columns, update_counters +Rails/SkipsModelValidations: + Exclude: + - 'app/controllers/omniauth_callbacks_controller.rb' + +# Offense count: 83 Style/Documentation: Enabled: false +# Offense count: 1 +# Configuration parameters: . +# SupportedStyles: annotated, template, unannotated +Style/FormatStringToken: + EnforcedStyle: unannotated + +# Offense count: 2 +Style/MixinUsage: + Exclude: + - 'bin/setup' + - 'bin/update' + +# Offense count: 260 +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. +# URISchemes: http, https +Metrics/LineLength: + Max: 130 diff --git a/Capfile b/Capfile index 343d60b9..42b57d94 100644 --- a/Capfile +++ b/Capfile @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Load DSL and Setup Up Stages require 'capistrano/setup' diff --git a/Gemfile b/Gemfile index 161174fb..9a310f43 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,5 @@ # frozen_string_literal: true + source 'https://rubygems.org' git_source(:github) do |repo_name| @@ -25,8 +26,8 @@ gem 'coffee-rails', '~> 4.2' # gem 'haml' -gem 'paperclip', '~> 5.0' gem 'aws-sdk', '~> 2.3.0' +gem 'paperclip', '~> 5.0' gem 'rubyzip' # Use jquery as the JavaScript library @@ -60,34 +61,34 @@ gem 'git_stats' gem 'sidekiq' group :development, :test do - gem 'pry' gem 'factory_girl_rails' gem 'faker' + gem 'pry' end group :development do # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. - gem 'web-console', '>= 3.3.0' gem 'listen', '~> 3.0.5' + gem 'web-console', '>= 3.3.0' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' gem 'spring-watcher-listen', '~> 2.0.0' - gem 'letter_opener' gem 'happy_seed' + gem 'letter_opener' - gem 'rubocop', require: false gem 'brakeman', require: false + gem 'rubocop', require: false # capistrano gem 'capistrano', '~> 3.8', require: false, group: :development # Deploy with capistrano, see config/deploy.rb - gem 'capistrano-rails', '~> 1.1', require: false gem 'capistrano-bundler', '~> 1.1', require: false + gem 'capistrano-postgresql', '~> 4.2.1', require: false + gem 'capistrano-rails', '~> 1.1', require: false gem 'capistrano-safe-deploy-to', '~> 1.1.1', require: false gem 'rvm1-capistrano3', '~> 1.3.2', require: false - gem 'capistrano-postgresql', '~> 4.2.1', require: false # gem 'capistrano-memcached', '~> 1.2.0', require: false gem 'capistrano-unicorn-nginx', '~> 4.1', require: false # gem 'capistrano-faster-assets', '~> 1.0.2', require: false @@ -95,49 +96,49 @@ group :development do end group :test do - gem 'rspec-rails' + gem 'capybara' + gem 'rails-controller-testing' + gem 'rspec-collection_matchers' gem 'rspec-mocks' + gem 'rspec-rails' gem 'spring-commands-rspec' - gem 'rspec-collection_matchers' gem 'vcr' gem 'webmock' - gem 'rails-controller-testing' - gem 'capybara' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] +gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby] +gem 'bh' gem 'bootstrap-sass' -gem 'modernizr-rails' +gem 'cancancan' +gem 'devise', '~> 4.2' +gem 'github_webhook', '~> 1.0.2' gem 'meta-tags', require: 'meta_tags' -gem 'responders', '~> 2.0' -gem 'bh' -gem 'premailer-rails' +gem 'modernizr-rails' gem 'nokogiri' -gem 'devise', '~> 4.2' -gem 'cancancan' +gem 'octokit' gem 'omniauth' -gem 'omniauth-oauth2', '1.3.1' gem 'omniauth-facebook' gem 'omniauth-github' -gem 'octokit' -gem 'github_webhook', '~> 1.0.2' +gem 'omniauth-oauth2', '1.3.1' +gem 'premailer-rails' +gem 'responders', '~> 2.0' gem 'omniauth-google-oauth2' # gem 'google-api-client', require: 'google/api_client' -gem 'omniauth-twitter' -gem 'twitter' -gem 'ckeditor' gem 'activeadmin', github: 'activeadmin' -gem 'inherited_resources', github: 'activeadmin/inherited_resources' -gem 'ransack', github: 'activerecord-hackery/ransack' -gem 'kaminari', github: 'amatsuda/kaminari', branch: '0-17-stable' -gem 'formtastic', github: 'justinfrench/formtastic' -gem 'draper', github: 'audionerd/draper', branch: 'rails5', ref: 'e816e0e587' gem 'activemodel-serializers-xml', github: 'rails/activemodel-serializers-xml' +gem 'ckeditor' gem 'dateslices' +gem 'draper', github: 'audionerd/draper', branch: 'rails5', ref: 'e816e0e587' +gem 'formtastic', github: 'justinfrench/formtastic' gem 'gretel' +gem 'inherited_resources', github: 'activeadmin/inherited_resources' +gem 'kaminari', github: 'amatsuda/kaminari', branch: '0-17-stable' +gem 'omniauth-twitter' +gem 'ransack', github: 'activerecord-hackery/ransack' +gem 'twitter' ruby '~> 2.4' diff --git a/Gemfile.lock b/Gemfile.lock index 87eee252..798c0ec3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -134,7 +134,7 @@ GEM arbre (1.1.1) activesupport (>= 3.0.0) arel (7.1.4) - ast (2.3.0) + ast (2.4.0) autoprefixer-rails (6.6.0) execjs aws-sdk (2.3.22) @@ -362,8 +362,9 @@ GEM cocaine (~> 0.5.5) mime-types mimemagic (~> 0.3.0) - parser (2.3.1.4) - ast (~> 2.2) + parallel (1.12.1) + parser (2.4.0.2) + ast (~> 2.3) pg (0.18.2) polyamorous (1.3.1) activerecord (>= 3.0) @@ -411,7 +412,7 @@ GEM method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) - rainbow (2.1.0) + rainbow (3.0.0) raindrops (0.19.0) rake (12.0.0) rb-fsevent (0.9.8) @@ -443,13 +444,14 @@ GEM rspec-mocks (~> 3.5.0) rspec-support (~> 3.5.0) rspec-support (3.5.0) - rubocop (0.45.0) - parser (>= 2.3.1.1, < 3.0) + rubocop (0.52.1) + parallel (~> 1.10) + parser (>= 2.4.0.2, < 3.0) powerpack (~> 0.1) - rainbow (>= 1.99.1, < 3.0) + rainbow (>= 2.2.2, < 4.0) ruby-progressbar (~> 1.7) unicode-display_width (~> 1.0, >= 1.0.1) - ruby-progressbar (1.8.1) + ruby-progressbar (1.9.0) rubyzip (1.1.7) rvm1-capistrano3 (1.3.2.2) capistrano (~> 3.0) @@ -512,7 +514,7 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.7.2) - unicode-display_width (1.1.1) + unicode-display_width (1.3.0) unicorn (5.3.0) kgio (~> 2.6) raindrops (~> 0.7) diff --git a/Guardfile b/Guardfile index 8a788cf3..bd8203e6 100644 --- a/Guardfile +++ b/Guardfile @@ -1,4 +1,5 @@ # frozen_string_literal: true + # A sample Guardfile # More info at https://github.com/guard/guard#readme @@ -67,7 +68,7 @@ guard :rspec, cmd: 'bin/rspec', all_on_start: true do dsl.watch_spec_files_for(ruby.lib_files) # Rails files - rails = dsl.rails(view_extensions: %w(erb haml slim)) + rails = dsl.rails(view_extensions: %w[erb haml slim]) dsl.watch_spec_files_for(rails.app_files) dsl.watch_spec_files_for(rails.views) diff --git a/Rakefile b/Rakefile index 84f2bc39..488c551f 100644 --- a/Rakefile +++ b/Rakefile @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Add your own tasks in files placed in lib/tasks ending in .rake, # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. diff --git a/app/admin/dashboard.rb b/app/admin/dashboard.rb index 0e7ae04d..89a797ca 100644 --- a/app/admin/dashboard.rb +++ b/app/admin/dashboard.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + ActiveAdmin.register_page 'Dashboard' do menu priority: 1, label: proc { I18n.t('active_admin.dashboard') } diff --git a/app/admin/user.rb b/app/admin/user.rb index 740692c6..790b29d9 100644 --- a/app/admin/user.rb +++ b/app/admin/user.rb @@ -1,2 +1,3 @@ # frozen_string_literal: true + ActiveAdmin.register User diff --git a/app/channels/application_cable/channel.rb b/app/channels/application_cable/channel.rb index 51e3e936..9aec2305 100644 --- a/app/channels/application_cable/channel.rb +++ b/app/channels/application_cable/channel.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module ApplicationCable class Channel < ActionCable::Channel::Base end diff --git a/app/channels/application_cable/connection.rb b/app/channels/application_cable/connection.rb index 3a9a78bf..d8671d5c 100644 --- a/app/channels/application_cable/connection.rb +++ b/app/channels/application_cable/connection.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module ApplicationCable class Connection < ActionCable::Connection::Base identified_by :current_user diff --git a/app/channels/submissions_channel.rb b/app/channels/submissions_channel.rb index 3cf1e898..79c68ae6 100644 --- a/app/channels/submissions_channel.rb +++ b/app/channels/submissions_channel.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class SubmissionsChannel < ApplicationCable::Channel def subscribed stream_from "submissions_#{current_user.id}" diff --git a/app/controllers/admin/stats_controller.rb b/app/controllers/admin/stats_controller.rb index c66d4c51..482b5dba 100644 --- a/app/controllers/admin/stats_controller.rb +++ b/app/controllers/admin/stats_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Admin class StatsController < ApplicationController before_action :authenticate_admin_user! diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index c916351a..87f7c9e1 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class ApplicationController < ActionController::Base check_authorization unless: :devise_controller? @@ -12,8 +13,7 @@ def redirect_to_primary_domain redirect_to "#{request.protocol}#{ENV.fetch('DOMAIN_NAME')}#{request.fullpath}", status: :moved_permanently end - def page_title - end + def page_title; end def access_denied(exception) redirect_to root_path, alert: exception.message diff --git a/app/controllers/assignments_controller.rb b/app/controllers/assignments_controller.rb index b21a8614..103cfaf4 100644 --- a/app/controllers/assignments_controller.rb +++ b/app/controllers/assignments_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AssignmentsController < ApplicationController load_and_authorize_resource :course load_and_authorize_resource through: :course @@ -11,11 +12,9 @@ def show @assignment = @assignment.decorate end - def new - end + def new; end - def edit - end + def edit; end def index redirect_to @course diff --git a/app/controllers/confirmations_controller.rb b/app/controllers/confirmations_controller.rb index e42fbc0f..076c5ad8 100644 --- a/app/controllers/confirmations_controller.rb +++ b/app/controllers/confirmations_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class ConfirmationsController < Devise::ConfirmationsController # Signin automatically if they come in through the link def show diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 8bff0b7b..677ff771 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CoursesController < ApplicationController load_and_authorize_resource @@ -17,8 +18,7 @@ def show @course = @course.decorate end - def edit - end + def edit; end def create if @course.update_attributes(course_params) diff --git a/app/controllers/enrollments_controller.rb b/app/controllers/enrollments_controller.rb index c0f59835..8e5dad33 100644 --- a/app/controllers/enrollments_controller.rb +++ b/app/controllers/enrollments_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class EnrollmentsController < ApplicationController load_and_authorize_resource class: 'Membership' diff --git a/app/controllers/github_webhooks_controller.rb b/app/controllers/github_webhooks_controller.rb index afa6cec2..1f6877a6 100644 --- a/app/controllers/github_webhooks_controller.rb +++ b/app/controllers/github_webhooks_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # app/controllers/github_webhooks_controller.rb class GithubWebhooksController < ActionController::Base protect_from_forgery diff --git a/app/controllers/omniauth_callbacks_controller.rb b/app/controllers/omniauth_callbacks_controller.rb index f48b9992..0823b94c 100644 --- a/app/controllers/omniauth_callbacks_controller.rb +++ b/app/controllers/omniauth_callbacks_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class OmniauthCallbacksController < Devise::OmniauthCallbacksController def facebook generic_callback('facebook') @@ -51,7 +52,7 @@ def user end def set_user_fields - [:email, :name].each do |attr| + %i[email name].each do |attr| user_value = user.send(attr) identity_value = identity.send(attr) diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb index d60fc61e..f57d5982 100644 --- a/app/controllers/registrations_controller.rb +++ b/app/controllers/registrations_controller.rb @@ -1,9 +1,10 @@ # frozen_string_literal: true + class RegistrationsController < Devise::RegistrationsController def update_resource(resource, params) if resource.encrypted_password.blank? # || params[:password].blank? resource.email = params[:email] if params[:email] - if !params[:password].blank? && params[:password] == params[:password_confirmation] + if params[:password].present? && params[:password] == params[:password_confirmation] logger.info 'Updating password' resource.password = params[:password] resource.save diff --git a/app/controllers/setup_controller.rb b/app/controllers/setup_controller.rb index b6cb2d8e..91149e74 100644 --- a/app/controllers/setup_controller.rb +++ b/app/controllers/setup_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rdiscount' class SetupController < ApplicationController skip_authorization_check diff --git a/app/controllers/submissions_controller.rb b/app/controllers/submissions_controller.rb index 7c49773d..453f8362 100644 --- a/app/controllers/submissions_controller.rb +++ b/app/controllers/submissions_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class SubmissionsController < ApplicationController before_action :normalize_params diff --git a/app/controllers/teams_controller.rb b/app/controllers/teams_controller.rb index 0016a477..7dca635e 100644 --- a/app/controllers/teams_controller.rb +++ b/app/controllers/teams_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class TeamsController < ApplicationController load_and_authorize_resource :assignment load_and_authorize_resource through: :assignment @@ -9,14 +10,11 @@ def page_title 'Teams' end - def new - end + def new; end - def index - end + def index; end - def edit - end + def edit; end def update if @team.update_attributes(team_params) diff --git a/app/controllers/tests_controller.rb b/app/controllers/tests_controller.rb index d7e7d717..926c9329 100644 --- a/app/controllers/tests_controller.rb +++ b/app/controllers/tests_controller.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class TestsController < ApplicationController before_action :normalize_params @@ -15,8 +16,7 @@ def new cast_test end - def edit - end + def edit; end def index @tests = @assignment.tests diff --git a/app/decorators/assignment_decorator.rb b/app/decorators/assignment_decorator.rb index 4c4f8290..d32878d8 100644 --- a/app/decorators/assignment_decorator.rb +++ b/app/decorators/assignment_decorator.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AssignmentDecorator < Draper::Decorator delegate_all diff --git a/app/decorators/course_decorator.rb b/app/decorators/course_decorator.rb index a06274a8..4b950af9 100644 --- a/app/decorators/course_decorator.rb +++ b/app/decorators/course_decorator.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CourseDecorator < Draper::Decorator delegate_all diff --git a/app/decorators/file_submission_decorator.rb b/app/decorators/file_submission_decorator.rb index d9963062..9c37cafb 100644 --- a/app/decorators/file_submission_decorator.rb +++ b/app/decorators/file_submission_decorator.rb @@ -1,10 +1,11 @@ # frozen_string_literal: true + class FileSubmissionDecorator < SubmissionDecorator delegate_all def attributes - [:status, :uploaded_by, :created_at, :team_members, :file_size, - :download_url, :human_readable_language] + %i[status uploaded_by created_at team_members file_size + download_url human_readable_language] end def human_readable_language diff --git a/app/decorators/git_submission_decorator.rb b/app/decorators/git_submission_decorator.rb index 9d13d1a6..e4359f10 100644 --- a/app/decorators/git_submission_decorator.rb +++ b/app/decorators/git_submission_decorator.rb @@ -1,10 +1,11 @@ # frozen_string_literal: true + class GitSubmissionDecorator < SubmissionDecorator delegate_all def attributes - [:status, :uploaded_by, :created_at, :git_repository_url, :git_commit_sha, - :git_commit_message, :contributor_names, :team_members] + %i[status uploaded_by created_at git_repository_url git_commit_sha + git_commit_message contributor_names team_members] end def git_repository_url diff --git a/app/decorators/submission_decorator.rb b/app/decorators/submission_decorator.rb index 43e382cc..11b49f13 100644 --- a/app/decorators/submission_decorator.rb +++ b/app/decorators/submission_decorator.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class SubmissionDecorator < Draper::Decorator delegate_all diff --git a/app/decorators/team_decorator.rb b/app/decorators/team_decorator.rb index 23092bd4..b19f310b 100644 --- a/app/decorators/team_decorator.rb +++ b/app/decorators/team_decorator.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class TeamDecorator < Draper::Decorator delegate_all diff --git a/app/decorators/test_decorator.rb b/app/decorators/test_decorator.rb index 99132fe8..9659a129 100644 --- a/app/decorators/test_decorator.rb +++ b/app/decorators/test_decorator.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class TestDecorator < Draper::Decorator delegate_all diff --git a/app/decorators/test_result_decorator.rb b/app/decorators/test_result_decorator.rb index 93548a25..2ee4ce3c 100644 --- a/app/decorators/test_result_decorator.rb +++ b/app/decorators/test_result_decorator.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class TestResultDecorator < Draper::Decorator delegate_all diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 9b898a03..504901d6 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module ApplicationHelper # Bootstrap 3 alert classes for flash hash in application layout. def flash_class(level) diff --git a/app/jobs/application_job.rb b/app/jobs/application_job.rb index 32fe70b8..d92ffddc 100644 --- a/app/jobs/application_job.rb +++ b/app/jobs/application_job.rb @@ -1,3 +1,4 @@ # frozen_string_literal: true + class ApplicationJob < ActiveJob::Base end diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index 4447eb4a..df108f2f 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class ApplicationMailer < ActionMailer::Base default from: 'ruben+alphgrader@fireservicerota.com' layout 'mailer' diff --git a/app/models/ability.rb b/app/models/ability.rb index bf40d0ff..3043878f 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class Ability include CanCan::Ability attr_accessor :user @@ -6,7 +7,7 @@ class Ability def initialize(user) return if user.nil? @user = user - can :manage, :all if user && user.admin? + can :manage, :all if user&.admin? setup_course_rights setup_assignment_rights @@ -23,31 +24,31 @@ def setup_course_rights can :read, Course, membership_params can :create, Course if user.instructor? || user.admin? - can [:edit, :update, :duplicate], Course, instructor_membership_params + can %i[edit update duplicate], Course, instructor_membership_params end def setup_assignment_rights can :read, Assignment, course: { memberships: { user_id: user.id } } - can [:create, :edit, :update], Assignment, course: instructor_membership_params + can %i[create edit update], Assignment, course: instructor_membership_params end def setup_test_rights can :read, Test, public: true, assignment: { course: membership_params } can :read, Test, public: false, assignment: { course: instructor_membership_params } - can [:create, :edit, :update, :destroy], Test, assignment: { course: instructor_membership_params } + can %i[create edit update destroy], Test, assignment: { course: instructor_membership_params } end def setup_submission_rights can :read, Submission, team: membership_params can :read, Submission, assignment: { course_id: instructor_course_ids } - can [:new, :create], Submission, assignment: { course: membership_params } + can %i[new create], Submission, assignment: { course: membership_params } end def setup_team_rights can [:read], Team, memberships: { user_id: user.id } - can [:edit, :update], Team, repository_owner_id: user.id - can [:read, :edit, :update], Team, assignment: { course_id: instructor_course_ids } - can [:new, :create], Team, assignment: { course: membership_params } + can %i[edit update], Team, repository_owner_id: user.id + can %i[read edit update], Team, assignment: { course_id: instructor_course_ids } + can %i[new create], Team, assignment: { course: membership_params } end def instructor_course_ids diff --git a/app/models/application_record.rb b/app/models/application_record.rb index 767a072b..71fbba5b 100644 --- a/app/models/application_record.rb +++ b/app/models/application_record.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class ApplicationRecord < ActiveRecord::Base self.abstract_class = true end diff --git a/app/models/assignment.rb b/app/models/assignment.rb index 6ea6951e..b871e6eb 100644 --- a/app/models/assignment.rb +++ b/app/models/assignment.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class Assignment < ApplicationRecord belongs_to :course, dependent: :destroy, inverse_of: :assignments has_many :submissions, dependent: :destroy, inverse_of: :assignment diff --git a/app/models/author_contribution_test.rb b/app/models/author_contribution_test.rb index 8e380f47..4bff6894 100644 --- a/app/models/author_contribution_test.rb +++ b/app/models/author_contribution_test.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AuthorContributionTest < Test def self.description [:author_contribution_test, { diff --git a/app/models/author_contribution_test_result.rb b/app/models/author_contribution_test_result.rb index ec61906d..09eb3dc4 100644 --- a/app/models/author_contribution_test_result.rb +++ b/app/models/author_contribution_test_result.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AuthorContributionTestResult < TestResult def test_type AuthorContributionTest diff --git a/app/models/contribution.rb b/app/models/contribution.rb index 9e9f3798..c062b187 100644 --- a/app/models/contribution.rb +++ b/app/models/contribution.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class Contribution < ApplicationRecord belongs_to :membership, inverse_of: :contributions belongs_to :submission, inverse_of: :contributions diff --git a/app/models/course.rb b/app/models/course.rb index 3c62718a..3dab02a6 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class Course < ApplicationRecord has_many :memberships, dependent: :destroy has_many :users, through: :memberships diff --git a/app/models/expected_output_test.rb b/app/models/expected_output_test.rb index cd2211d1..9911490f 100644 --- a/app/models/expected_output_test.rb +++ b/app/models/expected_output_test.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class ExpectedOutputTest < OutputTest def self.description [:expected_output_test, { diff --git a/app/models/expected_output_test_result.rb b/app/models/expected_output_test_result.rb index 2682f131..252d1501 100644 --- a/app/models/expected_output_test_result.rb +++ b/app/models/expected_output_test_result.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class ExpectedOutputTestResult < TestResult def test_type ExpectedOutputTest diff --git a/app/models/expected_output_test_runner.rb b/app/models/expected_output_test_runner.rb index 94eeeaec..0279df92 100644 --- a/app/models/expected_output_test_runner.rb +++ b/app/models/expected_output_test_runner.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class ExpectedOutputTestRunner < OutputTestRunner def correct_output? clean_string(expected_program_output) == clean_string(output) diff --git a/app/models/file_submission.rb b/app/models/file_submission.rb index 7edd3e41..3ec23eed 100644 --- a/app/models/file_submission.rb +++ b/app/models/file_submission.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class FileSubmission < Submission validates :file, presence: true has_attached_file :file diff --git a/app/models/git_submission.rb b/app/models/git_submission.rb index 3654521c..a7e4da76 100644 --- a/app/models/git_submission.rb +++ b/app/models/git_submission.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class GitSubmission < Submission validates :github_repository_name, presence: true diff --git a/app/models/google_apps_client.rb b/app/models/google_apps_client.rb index 5748684a..f18078cf 100644 --- a/app/models/google_apps_client.rb +++ b/app/models/google_apps_client.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class GoogleAppsClient def initialize(client) @client = client diff --git a/app/models/identity.rb b/app/models/identity.rb index b8a2bc59..454d16ee 100644 --- a/app/models/identity.rb +++ b/app/models/identity.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true -class Identity < ActiveRecord::Base + +class Identity < ApplicationRecord belongs_to :user, required: false validates :uid, :provider, presence: true validates :uid, uniqueness: { scope: :provider } diff --git a/app/models/membership.rb b/app/models/membership.rb index a81e315e..d0a84787 100644 --- a/app/models/membership.rb +++ b/app/models/membership.rb @@ -1,10 +1,11 @@ # frozen_string_literal: true + class Membership < ApplicationRecord belongs_to :user belongs_to :course has_and_belongs_to_many :teams - enum role: [:student, :instructor] + enum role: %i[student instructor] attr_accessor :enrollment_code diff --git a/app/models/output_test.rb b/app/models/output_test.rb index 7df7ddc6..17c0c555 100644 --- a/app/models/output_test.rb +++ b/app/models/output_test.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class OutputTest < Test validates :expected_program_output, presence: true validates :program_input, presence: true diff --git a/app/models/output_test_runner.rb b/app/models/output_test_runner.rb index f3a5612c..5ae29494 100644 --- a/app/models/output_test_runner.rb +++ b/app/models/output_test_runner.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class OutputTestRunner TIME_LIMIT = 30 diff --git a/app/models/regexp_output_test.rb b/app/models/regexp_output_test.rb index b8214722..22c238fb 100644 --- a/app/models/regexp_output_test.rb +++ b/app/models/regexp_output_test.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class RegexpOutputTest < OutputTest def self.description [:regexp_output_test, { diff --git a/app/models/regexp_output_test_runner.rb b/app/models/regexp_output_test_runner.rb index 470d94b0..72f13725 100644 --- a/app/models/regexp_output_test_runner.rb +++ b/app/models/regexp_output_test_runner.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class RegexpOutputTestRunner < OutputTestRunner def correct_output? regexp = Regexp.new expected_program_output diff --git a/app/models/required_file_test.rb b/app/models/required_file_test.rb index 5db9570c..70ccf16d 100644 --- a/app/models/required_file_test.rb +++ b/app/models/required_file_test.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class RequiredFileTest < Test validates :filename, presence: true diff --git a/app/models/required_file_test_result.rb b/app/models/required_file_test_result.rb index 8b5481b3..6c0cd448 100644 --- a/app/models/required_file_test_result.rb +++ b/app/models/required_file_test_result.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class RequiredFileTestResult < TestResult def test_type RequiredFileTest diff --git a/app/models/submission.rb b/app/models/submission.rb index 9a6b6efb..1d82fe3a 100644 --- a/app/models/submission.rb +++ b/app/models/submission.rb @@ -1,10 +1,11 @@ # frozen_string_literal: true + class Submission < ApplicationRecord belongs_to :assignment belongs_to :uploaded_by, class_name: 'User' belongs_to :team, inverse_of: :submissions - enum status: [:queued, :running, :success, :failure] + enum status: %i[queued running success failure] has_many :test_results, dependent: :destroy has_many :contributions, inverse_of: :submission, dependent: :destroy has_many :contributors, through: :contributions, class_name: 'Membership', source: :membership @@ -26,8 +27,7 @@ def detect_status self.status = test_results.reload.all?(&:success?) ? :success : :failure end - def download - end + def download; end def run_tests test_results.destroy_all @@ -73,8 +73,7 @@ def notify_users end end - def run_pre_test_checks - end + def run_pre_test_checks; end def run_user_tests assignment.tests.each do |test| diff --git a/app/models/team.rb b/app/models/team.rb index ba3f92d3..89161a4b 100644 --- a/app/models/team.rb +++ b/app/models/team.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class Team < ApplicationRecord belongs_to :assignment, inverse_of: :teams diff --git a/app/models/test.rb b/app/models/test.rb index 6133c537..53346733 100644 --- a/app/models/test.rb +++ b/app/models/test.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class Test < ApplicationRecord belongs_to :assignment has_many :test_results diff --git a/app/models/test_result.rb b/app/models/test_result.rb index 07a90b09..5d00f271 100644 --- a/app/models/test_result.rb +++ b/app/models/test_result.rb @@ -1,7 +1,8 @@ # frozen_string_literal: true + class TestResult < ApplicationRecord belongs_to :test belongs_to :submission - enum status: [:success, :failure, :error] + enum status: %i[success failure error] end diff --git a/app/models/user.rb b/app/models/user.rb index 0e29ea7b..cbb04975 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class User < ApplicationRecord attr_accessor :oauth_callback attr_accessor :current_password @@ -34,7 +35,7 @@ def email_required? end has_many :identities, dependent: :destroy - enum role: [:user, :admin, :instructor] + enum role: %i[user admin instructor] # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :confirmable, :database_authenticatable, :registerable, diff --git a/app/workers/submission_check_worker.rb b/app/workers/submission_check_worker.rb index 91078585..706f2253 100644 --- a/app/workers/submission_check_worker.rb +++ b/app/workers/submission_check_worker.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class SubmissionCheckWorker include Sidekiq::Worker sidekiq_options queue: 'high' diff --git a/bin/bundle b/bin/bundle index 86f34665..58115ecf 100755 --- a/bin/bundle +++ b/bin/bundle @@ -1,4 +1,5 @@ #!/usr/bin/env ruby # frozen_string_literal: true + ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) load Gem.bin_path('bundler', 'bundle') diff --git a/bin/rails b/bin/rails index dd027b40..a31728ab 100755 --- a/bin/rails +++ b/bin/rails @@ -1,5 +1,6 @@ #!/usr/bin/env ruby # frozen_string_literal: true + APP_PATH = File.expand_path('../config/application', __dir__) require_relative '../config/boot' require 'rails/commands' diff --git a/bin/rake b/bin/rake index 609af747..c1999550 100755 --- a/bin/rake +++ b/bin/rake @@ -1,5 +1,6 @@ #!/usr/bin/env ruby # frozen_string_literal: true + require_relative '../config/boot' require 'rake' Rake.application.run diff --git a/bin/rspec b/bin/rspec index 9d4b897d..5e0951ea 100755 --- a/bin/rspec +++ b/bin/rspec @@ -1,5 +1,6 @@ #!/usr/bin/env ruby # frozen_string_literal: true + begin load File.expand_path('../spring', __FILE__) rescue LoadError => e diff --git a/bin/setup b/bin/setup index ffca742a..629e3584 100755 --- a/bin/setup +++ b/bin/setup @@ -1,5 +1,6 @@ #!/usr/bin/env ruby # frozen_string_literal: true + require 'pathname' require 'fileutils' include FileUtils diff --git a/bin/update b/bin/update index 3f81e549..fdac831b 100755 --- a/bin/update +++ b/bin/update @@ -1,5 +1,6 @@ #!/usr/bin/env ruby # frozen_string_literal: true + require 'pathname' require 'fileutils' include FileUtils diff --git a/config.ru b/config.ru index 7eae2644..842bccc3 100644 --- a/config.ru +++ b/config.ru @@ -1,4 +1,5 @@ # frozen_string_literal: true + # This file is used by Rack-based servers to start the application. require_relative 'config/environment' diff --git a/config/application.rb b/config/application.rb index a77a7a01..85460a1d 100644 --- a/config/application.rb +++ b/config/application.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require_relative 'boot' require 'rails/all' diff --git a/config/boot.rb b/config/boot.rb index 9be337a4..30e594e2 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) require 'bundler/setup' # Set up gems listed in the Gemfile. diff --git a/config/breadcrumbs.rb b/config/breadcrumbs.rb index a1c08563..67ef2e2e 100644 --- a/config/breadcrumbs.rb +++ b/config/breadcrumbs.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + crumb :root do link 'Home', root_path end @@ -14,18 +15,14 @@ end crumb :assignment do |assignment| - url = if assignment.persisted? - course_assignment_path(assignment.course, assignment) - end + url = (course_assignment_path(assignment.course, assignment) if assignment.persisted?) text = assignment.name || 'New Assignment' link text, url parent :course, assignment.course end crumb :submission do |submission| - url = if submission.persisted? - assignment_submission_path(submission.assignment, submission) - end + url = (assignment_submission_path(submission.assignment, submission) if submission.persisted?) text = submission.decorate.created_at || 'New Submission' link text, url parent :assignment, submission.assignment diff --git a/config/deploy/staging.rb b/config/deploy/staging.rb index 80dc5a5e..5437e5d3 100644 --- a/config/deploy/staging.rb +++ b/config/deploy/staging.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + set :stage, :staging set :rails_env, fetch(:stage) # set the rails environment diff --git a/config/environment.rb b/config/environment.rb index dcc7adec..1f56dcc8 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Load the Rails application. require_relative 'application' diff --git a/config/environments/development.rb b/config/environments/development.rb index 20913675..e4e20840 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. diff --git a/config/environments/production.rb b/config/environments/production.rb index 00fa1c7f..a5c908d0 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. diff --git a/config/environments/test.rb b/config/environments/test.rb index 416a71c8..5344748c 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. diff --git a/config/initializers/active_admin.rb b/config/initializers/active_admin.rb index 930a2ced..63e573c2 100644 --- a/config/initializers/active_admin.rb +++ b/config/initializers/active_admin.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + ActiveAdmin.setup do |config| # == Site Title # diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index 74fbcb9e..b31e368d 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # Version of your assets, change this if you want to expire all your assets. @@ -11,4 +12,4 @@ # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. # Rails.application.config.assets.precompile += %w( search.js ) -Rails.application.config.assets.precompile += %w(chartkick.js) +Rails.application.config.assets.precompile += %w[chartkick.js] diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb index 2a729595..ee8dff9c 100644 --- a/config/initializers/cookies_serializer.rb +++ b/config/initializers/cookies_serializer.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # Specify a serializer for the signed and encrypted cookie jars. diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index fe984860..e7c15940 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Use this hook to configure devise mailer, warden hooks and so forth. # Many of these configuration options can be set straight in your model. Devise.setup do |config| diff --git a/config/initializers/errbit.rb b/config/initializers/errbit.rb index 2e309ddc..a1c00ede 100644 --- a/config/initializers/errbit.rb +++ b/config/initializers/errbit.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + Airbrake.configure do |config| config.api_key = ENV.fetch('AIRBRAKE_API_KEY') config.host = ENV.fetch('AIRBRAKE_HOST') diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb index b7fe1231..7a4f47b4 100644 --- a/config/initializers/filter_parameter_logging.rb +++ b/config/initializers/filter_parameter_logging.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # Configure sensitive parameters which will be filtered from the log file. diff --git a/config/initializers/haml.rb b/config/initializers/haml.rb index 844fe7bc..d2c02637 100644 --- a/config/initializers/haml.rb +++ b/config/initializers/haml.rb @@ -1,2 +1,3 @@ # frozen_string_literal: true + Haml::Template.options[:ugly] = true diff --git a/config/initializers/jazz_hands.rb b/config/initializers/jazz_hands.rb index d714e003..08464673 100644 --- a/config/initializers/jazz_hands.rb +++ b/config/initializers/jazz_hands.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + if defined?(JazzHands) JazzHands.colored_prompt = true # Uncomment for MRI 1.9.3 or 2.0.0 diff --git a/config/initializers/new_framework_defaults.rb b/config/initializers/new_framework_defaults.rb index 0f337889..050fcec3 100644 --- a/config/initializers/new_framework_defaults.rb +++ b/config/initializers/new_framework_defaults.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # # This file contains migration options to ease your Rails 5.0 upgrade. diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb index fb9b2a46..6a4c2e59 100644 --- a/config/initializers/paperclip.rb +++ b/config/initializers/paperclip.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + Paperclip::Attachment.default_options[:storage] = :s3 Paperclip::Attachment.default_options[:s3_credentials] = "#{Rails.root}/config/amazon_s3.yml" diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index c0b021e9..bc661b6e 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. Rails.application.config.session_store :cookie_store, key: '_alphagrader_session' diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index d08401e1..d11fd8bd 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -9,7 +9,7 @@ Sidekiq.options[:poll_interval] = 2 Sidekiq.configure_server do |config| - sidekiq_config = YAML.load(File.new("#{Rails.root}/config/sidekiq.yml")) + sidekiq_config = YAML.safe_load(File.new("#{Rails.root}/config/sidekiq.yml")) config.redis = redis_config schedule_file = 'config/sidekiq_schedule.yml' @@ -25,9 +25,7 @@ ActiveRecord::Base.establish_connection(config) end - if File.exist?(schedule_file) && Sidekiq.server? - Sidekiq::Cron::Job.load_from_hash! YAML.load_file(schedule_file) - end + Sidekiq::Cron::Job.load_from_hash! YAML.load_file(schedule_file) if File.exist?(schedule_file) && Sidekiq.server? end Sidekiq.configure_client do |config| diff --git a/config/initializers/simple_form.rb b/config/initializers/simple_form.rb index 4e7dbabc..3f45ec8a 100644 --- a/config/initializers/simple_form.rb +++ b/config/initializers/simple_form.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Use this setup block to configure all options available in SimpleForm. SimpleForm.setup do |config| # Wrappers are used by the form builder to generate a diff --git a/config/initializers/simple_form_bootstrap.rb b/config/initializers/simple_form_bootstrap.rb index c1247278..9b51a9d5 100644 --- a/config/initializers/simple_form_bootstrap.rb +++ b/config/initializers/simple_form_bootstrap.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Use this setup block to configure all options available in SimpleForm. SimpleForm.setup do |config| config.error_notification_class = 'alert alert-danger' diff --git a/config/initializers/warden_hooks.rb b/config/initializers/warden_hooks.rb index 0f5325d9..e1ee13dc 100644 --- a/config/initializers/warden_hooks.rb +++ b/config/initializers/warden_hooks.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + Warden::Manager.after_set_user do |user, auth, opts| scope = opts[:scope] auth.cookies.signed["#{scope}.id"] = user.id diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb index 18c38252..2f3c0db4 100644 --- a/config/initializers/wrap_parameters.rb +++ b/config/initializers/wrap_parameters.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # This file contains settings for ActionController::ParamsWrapper which diff --git a/config/puma.rb b/config/puma.rb index da41eff9..03a28243 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Puma can serve each request in a thread from an internal thread pool. # The `threads` method setting takes two numbers a minimum and maximum. # Any libraries that use thread pools should be configured to match diff --git a/config/spring.rb b/config/spring.rb index 312295f4..c5933e49 100644 --- a/config/spring.rb +++ b/config/spring.rb @@ -1,7 +1,8 @@ # frozen_string_literal: true -%w( + +%w[ .ruby-version .rbenv-vars tmp/restart.txt tmp/caching-dev.txt -).each { |path| Spring.watch(path) } +].each { |path| Spring.watch(path) } diff --git a/db/migrate/20170102233353_devise_create_users.rb b/db/migrate/20170102233353_devise_create_users.rb index 160c8914..51252ffe 100644 --- a/db/migrate/20170102233353_devise_create_users.rb +++ b/db/migrate/20170102233353_devise_create_users.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class DeviseCreateUsers < ActiveRecord::Migration[5.0] def change create_table :users do |t| diff --git a/db/migrate/20170102233404_add_role_to_users.rb b/db/migrate/20170102233404_add_role_to_users.rb index 23dc2f36..bd093353 100644 --- a/db/migrate/20170102233404_add_role_to_users.rb +++ b/db/migrate/20170102233404_add_role_to_users.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddRoleToUsers < ActiveRecord::Migration[5.0] def change add_column :users, :role, :integer diff --git a/db/migrate/20170102233429_add_confirmable_to_devise.rb b/db/migrate/20170102233429_add_confirmable_to_devise.rb index d5a8435e..16141f69 100644 --- a/db/migrate/20170102233429_add_confirmable_to_devise.rb +++ b/db/migrate/20170102233429_add_confirmable_to_devise.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddConfirmableToDevise < ActiveRecord::Migration # Note: You can't use change, as User.update_all will fail in the down migration def up diff --git a/db/migrate/20170102233435_make_email_nullable.rb b/db/migrate/20170102233435_make_email_nullable.rb index 4e6bb2b7..e4906e54 100644 --- a/db/migrate/20170102233435_make_email_nullable.rb +++ b/db/migrate/20170102233435_make_email_nullable.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class MakeEmailNullable < ActiveRecord::Migration def change change_column_null :users, :email, true diff --git a/db/migrate/20170102233502_create_identities.rb b/db/migrate/20170102233502_create_identities.rb index 930d7c8c..aa54ba41 100644 --- a/db/migrate/20170102233502_create_identities.rb +++ b/db/migrate/20170102233502_create_identities.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateIdentities < ActiveRecord::Migration[5.0] def change create_table :identities do |t| diff --git a/db/migrate/20170102233738_add_refresh_token_to_identity.rb b/db/migrate/20170102233738_add_refresh_token_to_identity.rb index 295a0cea..99ecf8bc 100644 --- a/db/migrate/20170102233738_add_refresh_token_to_identity.rb +++ b/db/migrate/20170102233738_add_refresh_token_to_identity.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddRefreshTokenToIdentity < ActiveRecord::Migration def change add_column :identities, :refreshtoken, :string diff --git a/db/migrate/20170102233955_add_secret_token_to_identity.rb b/db/migrate/20170102233955_add_secret_token_to_identity.rb index 4a5dd3e0..eb26c652 100644 --- a/db/migrate/20170102233955_add_secret_token_to_identity.rb +++ b/db/migrate/20170102233955_add_secret_token_to_identity.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddSecretTokenToIdentity < ActiveRecord::Migration def change add_column :identities, :secrettoken, :string diff --git a/db/migrate/20170102234223_create_active_admin_comments.rb b/db/migrate/20170102234223_create_active_admin_comments.rb index 35d5aff1..72363ab0 100644 --- a/db/migrate/20170102234223_create_active_admin_comments.rb +++ b/db/migrate/20170102234223_create_active_admin_comments.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateActiveAdminComments < ActiveRecord::Migration def self.up create_table :active_admin_comments do |t| @@ -10,8 +11,8 @@ def self.up t.timestamps end add_index :active_admin_comments, [:namespace] - add_index :active_admin_comments, [:author_type, :author_id] - add_index :active_admin_comments, [:resource_type, :resource_id] + add_index :active_admin_comments, %i[author_type author_id] + add_index :active_admin_comments, %i[resource_type resource_id] end def self.down diff --git a/db/migrate/20170103040210_create_courses.rb b/db/migrate/20170103040210_create_courses.rb index b8cb48be..cac81645 100644 --- a/db/migrate/20170103040210_create_courses.rb +++ b/db/migrate/20170103040210_create_courses.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateCourses < ActiveRecord::Migration[5.0] def change create_table :courses do |t| diff --git a/db/migrate/20170103040551_create_memberships.rb b/db/migrate/20170103040551_create_memberships.rb index 7585c389..836961eb 100644 --- a/db/migrate/20170103040551_create_memberships.rb +++ b/db/migrate/20170103040551_create_memberships.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateMemberships < ActiveRecord::Migration[5.0] def change create_table :memberships do |t| diff --git a/db/migrate/20170103051554_add_name_to_user.rb b/db/migrate/20170103051554_add_name_to_user.rb index d1b500b4..72db84a6 100644 --- a/db/migrate/20170103051554_add_name_to_user.rb +++ b/db/migrate/20170103051554_add_name_to_user.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddNameToUser < ActiveRecord::Migration[5.0] def change add_column :users, :name, :string diff --git a/db/migrate/20170103052630_create_assignments.rb b/db/migrate/20170103052630_create_assignments.rb index 869c58c3..37dd5a20 100644 --- a/db/migrate/20170103052630_create_assignments.rb +++ b/db/migrate/20170103052630_create_assignments.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateAssignments < ActiveRecord::Migration[5.0] def change create_table :assignments do |t| diff --git a/db/migrate/20170103061109_create_submissions.rb b/db/migrate/20170103061109_create_submissions.rb index 44f0a36b..5beabb63 100644 --- a/db/migrate/20170103061109_create_submissions.rb +++ b/db/migrate/20170103061109_create_submissions.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateSubmissions < ActiveRecord::Migration[5.0] def change create_table :submissions do |t| diff --git a/db/migrate/20170103063306_create_author_submission_join_table.rb b/db/migrate/20170103063306_create_author_submission_join_table.rb index 178f6cac..93e84e2f 100644 --- a/db/migrate/20170103063306_create_author_submission_join_table.rb +++ b/db/migrate/20170103063306_create_author_submission_join_table.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateAuthorSubmissionJoinTable < ActiveRecord::Migration[5.0] def change create_table :author_submissions, id: false do |t| diff --git a/db/migrate/20170104043110_add_unique_index_to_membership.rb b/db/migrate/20170104043110_add_unique_index_to_membership.rb index 691ea74e..6ec03e52 100644 --- a/db/migrate/20170104043110_add_unique_index_to_membership.rb +++ b/db/migrate/20170104043110_add_unique_index_to_membership.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true + class AddUniqueIndexToMembership < ActiveRecord::Migration[5.0] def change - add_index :memberships, [:user_id, :course_id], unique: true + add_index :memberships, %i[user_id course_id], unique: true end end diff --git a/db/migrate/20170104234446_create_tests.rb b/db/migrate/20170104234446_create_tests.rb index 49aeba76..a97fc0d1 100644 --- a/db/migrate/20170104234446_create_tests.rb +++ b/db/migrate/20170104234446_create_tests.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateTests < ActiveRecord::Migration[5.0] def change create_table :tests do |t| diff --git a/db/migrate/20170104235602_create_test_results.rb b/db/migrate/20170104235602_create_test_results.rb index 43583e50..245f0cdb 100644 --- a/db/migrate/20170104235602_create_test_results.rb +++ b/db/migrate/20170104235602_create_test_results.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateTestResults < ActiveRecord::Migration[5.0] def change create_table :test_results do |t| diff --git a/db/migrate/20170105182703_add_commit_message_to_submission.rb b/db/migrate/20170105182703_add_commit_message_to_submission.rb index 90ff1291..21e52ea7 100644 --- a/db/migrate/20170105182703_add_commit_message_to_submission.rb +++ b/db/migrate/20170105182703_add_commit_message_to_submission.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddCommitMessageToSubmission < ActiveRecord::Migration[5.0] def change add_column :submissions, :git_commit_message, :string diff --git a/db/migrate/20170105184616_add_fields_to_test_results.rb b/db/migrate/20170105184616_add_fields_to_test_results.rb index 6fd4130f..e2f102de 100644 --- a/db/migrate/20170105184616_add_fields_to_test_results.rb +++ b/db/migrate/20170105184616_add_fields_to_test_results.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddFieldsToTestResults < ActiveRecord::Migration[5.0] def change add_column :test_results, :name, :string diff --git a/db/migrate/20170106003653_add_github_repository_name_to_submission.rb b/db/migrate/20170106003653_add_github_repository_name_to_submission.rb index cbc2654b..c5cbe21b 100644 --- a/db/migrate/20170106003653_add_github_repository_name_to_submission.rb +++ b/db/migrate/20170106003653_add_github_repository_name_to_submission.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddGithubRepositoryNameToSubmission < ActiveRecord::Migration[5.0] def change add_column :submissions, :github_repository_name, :string, index: true diff --git a/db/migrate/20170108013759_create_teams.rb b/db/migrate/20170108013759_create_teams.rb index 61b0f055..5ad6ecf5 100644 --- a/db/migrate/20170108013759_create_teams.rb +++ b/db/migrate/20170108013759_create_teams.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateTeams < ActiveRecord::Migration[5.0] def change create_table :teams do |t| diff --git a/db/migrate/20170108014805_create_memberships_teams_join_table.rb b/db/migrate/20170108014805_create_memberships_teams_join_table.rb index 543da330..2466a35f 100644 --- a/db/migrate/20170108014805_create_memberships_teams_join_table.rb +++ b/db/migrate/20170108014805_create_memberships_teams_join_table.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateMembershipsTeamsJoinTable < ActiveRecord::Migration[5.0] def change create_table :memberships_teams, id: false do |t| diff --git a/db/migrate/20170108045626_add_team_id_to_submission.rb b/db/migrate/20170108045626_add_team_id_to_submission.rb index 7ea76648..94252aeb 100644 --- a/db/migrate/20170108045626_add_team_id_to_submission.rb +++ b/db/migrate/20170108045626_add_team_id_to_submission.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddTeamIdToSubmission < ActiveRecord::Migration[5.0] def change add_reference :submissions, :team, index: true diff --git a/db/migrate/20170108202615_create_contributions.rb b/db/migrate/20170108202615_create_contributions.rb index 90a85fcb..4600eb1c 100644 --- a/db/migrate/20170108202615_create_contributions.rb +++ b/db/migrate/20170108202615_create_contributions.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class CreateContributions < ActiveRecord::Migration[5.0] def change create_table :contributions do |t| diff --git a/db/migrate/20170108202754_drop_author_submissions_join_table.rb b/db/migrate/20170108202754_drop_author_submissions_join_table.rb index 4daf10a5..7023872b 100644 --- a/db/migrate/20170108202754_drop_author_submissions_join_table.rb +++ b/db/migrate/20170108202754_drop_author_submissions_join_table.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class DropAuthorSubmissionsJoinTable < ActiveRecord::Migration[5.0] def change drop_table :author_submissions diff --git a/db/migrate/20170212050345_add_filename_to_tests.rb b/db/migrate/20170212050345_add_filename_to_tests.rb index 069f1172..8159ca3c 100644 --- a/db/migrate/20170212050345_add_filename_to_tests.rb +++ b/db/migrate/20170212050345_add_filename_to_tests.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddFilenameToTests < ActiveRecord::Migration[5.0] def change add_column :tests, :filename, :string diff --git a/db/migrate/20170212050815_add_filename_to_test_result.rb b/db/migrate/20170212050815_add_filename_to_test_result.rb index 253d2579..04395cc5 100644 --- a/db/migrate/20170212050815_add_filename_to_test_result.rb +++ b/db/migrate/20170212050815_add_filename_to_test_result.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddFilenameToTestResult < ActiveRecord::Migration[5.0] def change add_column :test_results, :filename, :string diff --git a/db/migrate/20170213012612_add_file_to_submissions.rb b/db/migrate/20170213012612_add_file_to_submissions.rb index cfea527a..b86a2ee3 100644 --- a/db/migrate/20170213012612_add_file_to_submissions.rb +++ b/db/migrate/20170213012612_add_file_to_submissions.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddFileToSubmissions < ActiveRecord::Migration[5.0] def change add_attachment :submissions, :file diff --git a/db/migrate/20170301174316_add_error_log_and_timout_to_test_results.rb b/db/migrate/20170301174316_add_error_log_and_timout_to_test_results.rb index 8e66a98c..5f13f61a 100644 --- a/db/migrate/20170301174316_add_error_log_and_timout_to_test_results.rb +++ b/db/migrate/20170301174316_add_error_log_and_timout_to_test_results.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddErrorLogAndTimoutToTestResults < ActiveRecord::Migration[5.0] def change add_column :test_results, :timeout, :boolean, default: false diff --git a/db/migrate/20170602190751_add_language_to_submission.rb b/db/migrate/20170602190751_add_language_to_submission.rb index 8fbdc30b..f4afa0c3 100644 --- a/db/migrate/20170602190751_add_language_to_submission.rb +++ b/db/migrate/20170602190751_add_language_to_submission.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class AddLanguageToSubmission < ActiveRecord::Migration[5.0] def change add_column :submissions, :language, :string diff --git a/features/support/env.rb b/features/support/env.rb index cfa1344a..93a634e8 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril. # It is recommended to regenerate this file in the future when you upgrade to a # newer version of cucumber-rails. Consider adding your own code to a new file diff --git a/lib/tasks/cucumber.rake b/lib/tasks/cucumber.rake index e5f3d09a..f34c5789 100644 --- a/lib/tasks/cucumber.rake +++ b/lib/tasks/cucumber.rake @@ -1,4 +1,5 @@ # frozen_string_literal: true + # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril. # It is recommended to regenerate this file in the future when you upgrade to a # newer version of cucumber-rails. Consider adding your own code to a new file @@ -34,11 +35,11 @@ unless ARGV.any? { |a| a =~ /^gems/ } # Don't load anything when running the gem end desc 'Run all features' - task all: [:ok, :wip] + task all: %i[ok wip] task :statsetup do require 'rails/code_statistics' - ::STATS_DIRECTORIES << %w(Cucumber\ features features) if File.exist?('features') + ::STATS_DIRECTORIES << %w[Cucumber\ features features] if File.exist?('features') ::CodeStatistics::TEST_TYPES << 'Cucumber features' if File.exist?('features') end diff --git a/lib/tasks/haml2erb.rake b/lib/tasks/haml2erb.rake index 8b418932..a7cafa84 100644 --- a/lib/tasks/haml2erb.rake +++ b/lib/tasks/haml2erb.rake @@ -1,4 +1,5 @@ # frozen_string_literal: true + desc 'Converts everything to erb' task :haml2erb do require 'httparty' diff --git a/spec/controllers/admin/stats_controller_spec.rb b/spec/controllers/admin/stats_controller_spec.rb index e3850e0b..bc78fc9f 100644 --- a/spec/controllers/admin/stats_controller_spec.rb +++ b/spec/controllers/admin/stats_controller_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe Admin::StatsController, type: :controller do diff --git a/spec/controllers/setup_controller_spec.rb b/spec/controllers/setup_controller_spec.rb index 035bb6a7..097ef935 100644 --- a/spec/controllers/setup_controller_spec.rb +++ b/spec/controllers/setup_controller_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' RSpec.describe SetupController, type: :controller do diff --git a/spec/factories/admin_users.rb b/spec/factories/admin_users.rb index 86c6fa43..e0c960d6 100644 --- a/spec/factories/admin_users.rb +++ b/spec/factories/admin_users.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + FactoryGirl.define do factory :admin_user, class: 'User' do name { Faker::Name.name } diff --git a/spec/factories/assignments.rb b/spec/factories/assignments.rb index bec6e913..4f1b21c5 100644 --- a/spec/factories/assignments.rb +++ b/spec/factories/assignments.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Read about factories at https://github.com/thoughtbot/factory_girl FactoryGirl.define do diff --git a/spec/factories/contributions.rb b/spec/factories/contributions.rb index 0be9dc41..eab3341c 100644 --- a/spec/factories/contributions.rb +++ b/spec/factories/contributions.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + FactoryGirl.define do factory :contribution do membership diff --git a/spec/factories/courses.rb b/spec/factories/courses.rb index a9244261..45cab893 100644 --- a/spec/factories/courses.rb +++ b/spec/factories/courses.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Read about factories at https://github.com/thoughtbot/factory_girl FactoryGirl.define do diff --git a/spec/factories/memberships.rb b/spec/factories/memberships.rb index f97c51b1..9d09fd4b 100644 --- a/spec/factories/memberships.rb +++ b/spec/factories/memberships.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Read about factories at https://github.com/thoughtbot/factory_girl FactoryGirl.define do diff --git a/spec/factories/oauth.rb b/spec/factories/oauth.rb index ace63a35..4d1eb822 100644 --- a/spec/factories/oauth.rb +++ b/spec/factories/oauth.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + FactoryGirl.define do factory :oauth_user, class: 'User' do before(:create) do |user, _evaluator| diff --git a/spec/factories/submissions.rb b/spec/factories/submissions.rb index 43c834c7..1c0a839a 100644 --- a/spec/factories/submissions.rb +++ b/spec/factories/submissions.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Read about factories at https://github.com/thoughtbot/factory_girl FactoryGirl.define do diff --git a/spec/factories/teams.rb b/spec/factories/teams.rb index d219df5c..3783c1e2 100644 --- a/spec/factories/teams.rb +++ b/spec/factories/teams.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + FactoryGirl.define do factory :team do github_repository_name { "user_#{SecureRandom.hex}/repo" } diff --git a/spec/factories/test_result.rb b/spec/factories/test_result.rb index 4de8f662..f1e9fec9 100644 --- a/spec/factories/test_result.rb +++ b/spec/factories/test_result.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Read about factories at https://github.com/thoughtbot/factory_girl FactoryGirl.define do diff --git a/spec/factories/tests.rb b/spec/factories/tests.rb index dd8f043b..edd29df9 100644 --- a/spec/factories/tests.rb +++ b/spec/factories/tests.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Read about factories at https://github.com/thoughtbot/factory_girl FactoryGirl.define do diff --git a/spec/factories/users.rb b/spec/factories/users.rb index 4980747b..5f3276a4 100644 --- a/spec/factories/users.rb +++ b/spec/factories/users.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Read about factories at https://github.com/thoughtbot/factory_girl FactoryGirl.define do diff --git a/spec/features/assignment_spec.rb b/spec/features/assignment_spec.rb index 7a2b82f2..d8de8a24 100644 --- a/spec/features/assignment_spec.rb +++ b/spec/features/assignment_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' feature 'Assignment', type: :feature do diff --git a/spec/features/course_spec.rb b/spec/features/course_spec.rb index 0af1fda8..0f21eac6 100644 --- a/spec/features/course_spec.rb +++ b/spec/features/course_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' feature 'Courses', type: :feature do diff --git a/spec/features/github_registration_spec.rb b/spec/features/github_registration_spec.rb index 4365a066..478b2bca 100644 --- a/spec/features/github_registration_spec.rb +++ b/spec/features/github_registration_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' feature 'GithubAuthRegistration', type: :feature do diff --git a/spec/features/registration_spec.rb b/spec/features/registration_spec.rb index 220a050f..ff64ea01 100644 --- a/spec/features/registration_spec.rb +++ b/spec/features/registration_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' feature 'Registration', type: :feature do diff --git a/spec/features/submissions_spec.rb b/spec/features/submissions_spec.rb index 1e443c3e..28063656 100644 --- a/spec/features/submissions_spec.rb +++ b/spec/features/submissions_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' feature 'Submissions', type: :feature do diff --git a/spec/features/teams_spec.rb b/spec/features/teams_spec.rb index 4b86f259..ff4940f5 100644 --- a/spec/features/teams_spec.rb +++ b/spec/features/teams_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' feature 'Teams', type: :feature do diff --git a/spec/features/tests_spec.rb b/spec/features/tests_spec.rb index d01ada5d..29fbe7df 100644 --- a/spec/features/tests_spec.rb +++ b/spec/features/tests_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' feature 'Tests', type: :feature do diff --git a/spec/fixtures/dummy_programs/adder_wrong_permissions b/spec/fixtures/dummy_programs/adder_wrong_permissions old mode 100644 new mode 100755 diff --git a/spec/mailers/previews/devise_preview.rb b/spec/mailers/previews/devise_preview.rb index 1437fbe5..fc99ff72 100644 --- a/spec/mailers/previews/devise_preview.rb +++ b/spec/mailers/previews/devise_preview.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + class DevisePreview < ActionMailer::Preview if User.devise_modules.include? :confirmable def confirmation_instructions diff --git a/spec/models/ability_spec.rb b/spec/models/ability_spec.rb index 39c96dfa..7bb396e8 100644 --- a/spec/models/ability_spec.rb +++ b/spec/models/ability_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe Ability, type: :model do diff --git a/spec/models/assignment_spec.rb b/spec/models/assignment_spec.rb index 77e82009..fc09cdc2 100644 --- a/spec/models/assignment_spec.rb +++ b/spec/models/assignment_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe Assignment, type: :model do diff --git a/spec/models/author_contribution_test_spec.rb b/spec/models/author_contribution_test_spec.rb index 947bdb55..e88fce00 100644 --- a/spec/models/author_contribution_test_spec.rb +++ b/spec/models/author_contribution_test_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe AuthorContributionTest, type: :model do diff --git a/spec/models/course_spec.rb b/spec/models/course_spec.rb index d3adacde..b59cff38 100644 --- a/spec/models/course_spec.rb +++ b/spec/models/course_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe Course, type: :model do diff --git a/spec/models/expected_output_test_spec.rb b/spec/models/expected_output_test_spec.rb index eafe812d..2b9814ea 100644 --- a/spec/models/expected_output_test_spec.rb +++ b/spec/models/expected_output_test_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe ExpectedOutputTest, type: :model do diff --git a/spec/models/file_submission_spec.rb b/spec/models/file_submission_spec.rb index f1106e90..be9e6e9e 100644 --- a/spec/models/file_submission_spec.rb +++ b/spec/models/file_submission_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe FileSubmission, type: :model do diff --git a/spec/models/identity_spec.rb b/spec/models/identity_spec.rb index 0ea396d2..5385b578 100644 --- a/spec/models/identity_spec.rb +++ b/spec/models/identity_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' RSpec.describe Identity, type: :model do diff --git a/spec/models/membership_spec.rb b/spec/models/membership_spec.rb index 879de0db..99ec2986 100644 --- a/spec/models/membership_spec.rb +++ b/spec/models/membership_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe Membership, type: :model do diff --git a/spec/models/regexp_output_test_spec.rb b/spec/models/regexp_output_test_spec.rb index cdb783cf..28f810ca 100644 --- a/spec/models/regexp_output_test_spec.rb +++ b/spec/models/regexp_output_test_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe RegexpOutputTest, type: :model do diff --git a/spec/models/required_file_test_spec.rb b/spec/models/required_file_test_spec.rb index 43f2264e..38869ddb 100644 --- a/spec/models/required_file_test_spec.rb +++ b/spec/models/required_file_test_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe RequiredFileTest, type: :model do diff --git a/spec/models/submission_spec.rb b/spec/models/submission_spec.rb index 57b0e766..a9ba8f03 100644 --- a/spec/models/submission_spec.rb +++ b/spec/models/submission_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe Submission, type: :model do diff --git a/spec/models/team_spec.rb b/spec/models/team_spec.rb index 1e3c4614..4b53738e 100644 --- a/spec/models/team_spec.rb +++ b/spec/models/team_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe Team, type: :model do diff --git a/spec/models/test_spec.rb b/spec/models/test_spec.rb index 2391f453..b6788dff 100644 --- a/spec/models/test_spec.rb +++ b/spec/models/test_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' describe Test, type: :model do diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 8842835c..cee42f72 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # This file is copied to spec/ when you run 'rails generate rspec:install' ENV['RAILS_ENV'] ||= 'test' require File.expand_path('../../config/environment', __FILE__) @@ -66,7 +67,7 @@ config.include FactoryGirl::Syntax::Methods config.include Devise::Test::ControllerHelpers, type: :controller - [:controller, :view, :request].each do |type| + %i[controller view request].each do |type| config.include ::Rails::Controller::Testing::TestProcess, type: type config.include ::Rails::Controller::Testing::TemplateAssertions, type: type config.include ::Rails::Controller::Testing::Integration, type: type diff --git a/spec/requests/setup_spec.rb b/spec/requests/setup_spec.rb index c4d17fef..05e2b4cf 100644 --- a/spec/requests/setup_spec.rb +++ b/spec/requests/setup_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rails_helper' RSpec.describe 'Setup', type: :request do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 9d3c6a0e..c2f210f0 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'devise' # This file was generated by the `rails generate rspec:install` command. Conventionally, all # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.