From 6bcfffa1eecec5cfe7692c9c089ca71632c8b3c9 Mon Sep 17 00:00:00 2001 From: Ari Timonen Date: Sun, 19 Feb 2023 17:08:46 +0200 Subject: [PATCH] Major update, bugfixes - Use ruby 2.7.7 as it fixed startup issues - Update gems - Remove depr. from puma startup - Make entry.sh dir-agnostic Fix tests: - Use apparition - Update migrations to use new syntax - Some other minor changes --- Dockerfile | 8 +- Gemfile | 18 +- Gemfile.lock | 330 ++++++++++-------- bin/script/entry.sh | 7 +- config/environments/test.rb | 2 +- config/puma.rb | 3 - db/migrate/20120122001951_create_schema.rb | 2 +- ...40330152235_increase_article_text_limit.rb | 2 +- db/migrate/20140509231817_add_stream.rb | 2 +- db/migrate/20140510080652_add_caster.rb | 2 +- .../20140810224606_add_layout_to_profile.rb | 2 +- .../20141010193221_add_status_to_gatherer.rb | 2 +- ...20150518162749_remove_rcon_from_servers.rb | 2 +- db/migrate/20150701233306_remove_tweets.rb | 2 +- .../20150820223313_add_index_to_forumers.rb | 2 +- .../20170304191254_add_creator_to_bans.rb | 2 +- ...change_type_of_profile_parsed_signature.rb | 2 +- ...0702150454_add_lastvisit_index_to_users.rb | 2 +- .../20171013154050_create_match_proposals.rb | 2 +- .../20171109165433_create_custom_urls.rb | 2 +- ...190917222520_add_teamers_count_to_teams.rb | 2 +- ...4657_add_category_id_to_server_versions.rb | 2 +- ...20200331020637_add_title_to_directories.rb | 2 +- ...200401031046_add_password_hash_to_users.rb | 2 +- ...200401031518_update_passwords_to_scrypt.rb | 2 +- ...00402000314_move_readings_to_read_marks.rb | 2 +- db/schema.rb | 114 +++--- docker-compose.yml | 2 +- script/env.sh | 1 - spec/spec_helper.rb | 9 +- spec/support/database_cleaner.rb | 2 +- 31 files changed, 304 insertions(+), 232 deletions(-) diff --git a/Dockerfile b/Dockerfile index 71441fe..7e88c11 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2.6.10 AS ensl_development +FROM ruby:2.7.7 AS ensl_development ENV RAILS_ENV development ENV APP_PATH /var/www @@ -32,7 +32,8 @@ RUN \ yarn \ # For poltergeist # phantomjs \ - firefox-esr && \ + #firefox-esr && \ + chromium && \ # Install bundler and bundle path gem install bundler && \ mkdir -p /var/bundle && chown -R web:web /var/bundle @@ -63,6 +64,9 @@ ADD --chown=web . /var/www # RUN chown -R web:web /var/www # USER web +# Generate rake secret +# RUN rake secret && rails credentials:edit --environment production + # Assets are only compiled for production+ RUN bundle exec rake assets:precompile && \ # FIXME: Temporary fix for assets diff --git a/Gemfile b/Gemfile index a491431..25d4b71 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,7 @@ # Version data is in Gemfile.lock, running bundle update will fix it. source 'http://rubygems.org' -ruby '2.6.10' +ruby '2.7.7' # Rails core gem 'rails', '~> 6.0.5' @@ -82,8 +82,16 @@ gem 'active_record_union' # FIXME: Dependency version fix gem 'signet', '0.11.0' +# FIXME: Fix for warning: https://github.com/ruby/net-imap/issues/16 +gem "net-http" + gem 'bundle-audit' +# https://github.com/DatabaseCleaner/database_cleaner/issues/299 +gem 'mongoid-tree' +gem 'database_cleaner', git: 'https://github.com/DatabaseCleaner/database_cleaner.git' + + group :production do gem 'newrelic_rpm' gem 'puma_worker_killer' @@ -115,8 +123,9 @@ group :test do # Feature testing gem 'capybara' - gem 'poltergeist' - gem 'phantomjs', require: 'phantomjs/poltergeist' +# gem 'poltergeist' + gem 'apparition' + # gem 'phantomjs', require: 'phantomjs/poltergeist' gem 'selenium-webdriver' # Fix FF issue @@ -137,7 +146,8 @@ group :test do # Database cleaner gem 'database_cleaner-active_record' - gem 'database_cleaner-redis' + # gem 'database_cleaner-redis' + gem 'redis-namespace' # For circle ci + CC gem 'rspec_junit_formatter' diff --git a/Gemfile.lock b/Gemfile.lock index 12f0674..31e5fed 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,10 @@ +GIT + remote: https://github.com/DatabaseCleaner/database_cleaner.git + revision: 0ff5d014f5b36f63d8bb430cd36fd1bda2fbb6c9 + specs: + database_cleaner (2.0.1) + database_cleaner-active_record (~> 2.0.0) + GIT remote: https://github.com/koraktor/steam-condenser-ruby.git revision: 3ee580b5c5d390ee3a706357f18f2e9a2949e5c2 @@ -10,38 +17,38 @@ GIT GEM remote: http://rubygems.org/ specs: - actioncable (6.0.5) - actionpack (= 6.0.5) + actioncable (6.0.6.1) + actionpack (= 6.0.6.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.0.5) - actionpack (= 6.0.5) - activejob (= 6.0.5) - activerecord (= 6.0.5) - activestorage (= 6.0.5) - activesupport (= 6.0.5) + actionmailbox (6.0.6.1) + actionpack (= 6.0.6.1) + activejob (= 6.0.6.1) + activerecord (= 6.0.6.1) + activestorage (= 6.0.6.1) + activesupport (= 6.0.6.1) mail (>= 2.7.1) - actionmailer (6.0.5) - actionpack (= 6.0.5) - actionview (= 6.0.5) - activejob (= 6.0.5) + actionmailer (6.0.6.1) + actionpack (= 6.0.6.1) + actionview (= 6.0.6.1) + activejob (= 6.0.6.1) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.0.5) - actionview (= 6.0.5) - activesupport (= 6.0.5) + actionpack (6.0.6.1) + actionview (= 6.0.6.1) + activesupport (= 6.0.6.1) rack (~> 2.0, >= 2.0.8) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.0.5) - actionpack (= 6.0.5) - activerecord (= 6.0.5) - activestorage (= 6.0.5) - activesupport (= 6.0.5) + actiontext (6.0.6.1) + actionpack (= 6.0.6.1) + activerecord (= 6.0.6.1) + activestorage (= 6.0.6.1) + activesupport (= 6.0.6.1) nokogiri (>= 1.8.5) - actionview (6.0.5) - activesupport (= 6.0.5) + actionview (6.0.6.1) + activesupport (= 6.0.6.1) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -53,30 +60,33 @@ GEM addressable active_record_union (1.3.0) activerecord (>= 4.0) - activejob (6.0.5) - activesupport (= 6.0.5) + activejob (6.0.6.1) + activesupport (= 6.0.6.1) globalid (>= 0.3.6) - activemodel (6.0.5) - activesupport (= 6.0.5) - activerecord (6.0.5) - activemodel (= 6.0.5) - activesupport (= 6.0.5) - activestorage (6.0.5) - actionpack (= 6.0.5) - activejob (= 6.0.5) - activerecord (= 6.0.5) + activemodel (6.0.6.1) + activesupport (= 6.0.6.1) + activerecord (6.0.6.1) + activemodel (= 6.0.6.1) + activesupport (= 6.0.6.1) + activestorage (6.0.6.1) + actionpack (= 6.0.6.1) + activejob (= 6.0.6.1) + activerecord (= 6.0.6.1) marcel (~> 1.0) - activesupport (6.0.5) + activesupport (6.0.6.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) zeitwerk (~> 2.2, >= 2.2.2) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) annotate (3.2.0) activerecord (>= 3.2, < 8.0) rake (>= 10.4, < 14.0) + apparition (0.6.0) + capybara (~> 3.13, < 4) + websocket-driver (>= 0.6.5) archive-zip (0.12.0) io-like (~> 0.3.0) ast (2.4.2) @@ -93,9 +103,15 @@ GEM bourbon (3.1.8) sass (>= 3.2.0) thor + bson (4.15.0) builder (3.2.4) + bundle-audit (0.1.0) + bundler-audit + bundler-audit (0.9.1) + bundler (>= 1.2.0, < 3) + thor (~> 1.0) byebug (11.1.3) - capybara (3.36.0) + capybara (3.38.0) addressable matrix mini_mime (>= 0.1.3) @@ -104,7 +120,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (2.2.2) + carrierwave (2.2.3) activemodel (>= 5.0.0) activesupport (>= 5.0.0) addressable (~> 2.6) @@ -113,7 +129,6 @@ GEM mini_mime (>= 0.1.3) ssrf_filter (~> 1.0) childprocess (4.1.0) - cliver (0.3.2) code_analyzer (0.5.5) sexp_processor codeclimate-test-reporter (1.0.9) @@ -126,8 +141,8 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concurrent-ruby (1.1.10) - connection_pool (2.2.5) + concurrent-ruby (1.2.0) + connection_pool (2.3.0) countries (4.2.3) i18n_data (~> 0.16.0) sixarm_ruby_unaccent (~> 1.1) @@ -135,24 +150,22 @@ GEM countries (~> 4.2) sort_alphabetical (~> 1.1) crass (1.0.6) - dalli (3.2.1) + dalli (3.2.3) database_cleaner-active_record (2.0.1) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) - database_cleaner-redis (2.0.0) - database_cleaner-core (~> 2.0.0) - redis + date (3.3.3) debug_inspector (1.1.0) declarative (0.0.20) diff-lcs (1.5.0) docile (1.1.5) - dotenv (2.7.6) - dotenv-rails (2.7.6) - dotenv (= 2.7.6) + dotenv (2.8.1) + dotenv-rails (2.8.1) + dotenv (= 2.8.1) railties (>= 3.2) dynamic_form (1.1.4) - erubi (1.10.0) + erubi (1.12.0) erubis (2.7.0) execjs (2.8.1) factory_bot (4.10.0) @@ -160,7 +173,7 @@ GEM factory_bot_rails (4.10.0) factory_bot (~> 4.10.0) railties (>= 3.0.0) - faraday (0.17.5) + faraday (0.17.6) multipart-post (>= 1.2, < 3) ffi (1.15.5) ffi-compiler (1.0.1) @@ -172,7 +185,8 @@ GEM archive-zip (~> 0.7) get_process_mem (0.2.7) ffi (~> 1.0) - globalid (1.0.0) + glob (0.2.0) + globalid (1.1.0) activesupport (>= 5.0) google-api-client (0.10.3) addressable (~> 2.3) @@ -190,8 +204,9 @@ GEM multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (~> 0.7) - haml (5.2.2) - temple (>= 0.8.0) + haml (6.1.1) + temple (>= 0.8.2) + thor tilt hashie (5.0.0) httpclient (2.8.3) @@ -201,8 +216,9 @@ GEM i18n-country-translations (1.4.1) i18n (>= 0.9.3, < 2) railties (>= 5.0) - i18n-js (3.9.2) - i18n (>= 0.6.6) + i18n-js (4.0.1) + glob + i18n i18n_country_select (1.2.1) i18n (~> 0.9.3) i18n-country-translations (~> 1.0, >= 1.3.0) @@ -213,17 +229,20 @@ GEM mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) io-like (0.3.1) - jquery-rails (4.4.0) + jquery-rails (4.5.1) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - json (2.6.1) - jwt (2.3.0) - loofah (2.18.0) + json (2.6.3) + jwt (2.7.0) + loofah (2.19.1) crass (~> 1.0.2) nokogiri (>= 1.5.9) - mail (2.7.1) + mail (2.8.1) mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp marcel (1.0.2) matrix (0.4.2) memoist (0.16.2) @@ -231,21 +250,46 @@ GEM mime-types (3.4.1) mime-types-data (~> 3.2015) mime-types-data (3.2022.0105) - mini_magick (4.11.0) + mini_magick (4.12.0) mini_mime (1.1.2) - minitest (5.15.0) + mini_portile2 (2.8.1) + minitest (5.17.0) + mongo (2.18.2) + bson (>= 4.14.1, < 5.0.0) + mongoid (7.5.2) + activemodel (>= 5.1, < 7.1, != 7.0.0) + mongo (>= 2.10.5, < 3.0.0) + ruby2_keywords (~> 0.0.5) + mongoid-tree (2.1.1) + mongoid (>= 4.0, < 8) multi_json (1.15.0) multi_xml (0.6.0) - multipart-post (2.1.1) - mysql2 (0.5.4) + multipart-post (2.3.0) + mysql2 (0.5.5) neat (1.6.0) bourbon (>= 3.1) sass (>= 3.3) - newrelic_rpm (8.7.0) + net-http (0.3.2) + uri + net-imap (0.3.4) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.1) + timeout + net-smtp (0.3.3) + net-protocol + newrelic_rpm (8.16.0) nio4r (2.5.8) - nokogiri (1.13.6-arm64-darwin) + nokogiri (1.14.2) + mini_portile2 (~> 2.8.0) racc (~> 1.4) - omniauth (2.1.0) + nokogiri (1.14.2-aarch64-linux) + racc (~> 1.4) + nokogiri (1.14.2-arm64-darwin) + racc (~> 1.4) + omniauth (2.1.1) hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection @@ -260,14 +304,10 @@ GEM omniauth-openid os (1.1.4) parallel (1.22.1) - parser (3.1.2.0) + parser (3.2.1.0) ast (~> 2.4.1) - phantomjs (2.1.1.0) - poltergeist (1.18.1) - capybara (>= 2.1, < 4) - cliver (~> 0.3.1) - websocket-driver (>= 0.2.0) - power_assert (2.0.1) + pkg-config (1.5.1) + power_assert (2.0.3) pry (0.13.1) coderay (~> 1.1) method_source (~> 1.0) @@ -276,35 +316,35 @@ GEM pry (~> 0.13.0) pry-rails (0.3.9) pry (>= 0.10.4) - public_suffix (4.0.7) - puma (5.6.4) + public_suffix (5.0.1) + puma (6.1.0) nio4r (~> 2.0) puma_worker_killer (0.3.1) get_process_mem (~> 0.2) puma (>= 2.7) - racc (1.6.0) - rack (2.2.3) + racc (1.6.2) + rack (2.2.6.2) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) - rack-protection (2.2.0) + rack-protection (3.0.5) rack - rack-test (1.1.0) - rack (>= 1.0, < 3) - rails (6.0.5) - actioncable (= 6.0.5) - actionmailbox (= 6.0.5) - actionmailer (= 6.0.5) - actionpack (= 6.0.5) - actiontext (= 6.0.5) - actionview (= 6.0.5) - activejob (= 6.0.5) - activemodel (= 6.0.5) - activerecord (= 6.0.5) - activestorage (= 6.0.5) - activesupport (= 6.0.5) + rack-test (2.0.2) + rack (>= 1.3) + rails (6.0.6.1) + actioncable (= 6.0.6.1) + actionmailbox (= 6.0.6.1) + actionmailer (= 6.0.6.1) + actionpack (= 6.0.6.1) + actiontext (= 6.0.6.1) + actionview (= 6.0.6.1) + activejob (= 6.0.6.1) + activemodel (= 6.0.6.1) + activerecord (= 6.0.6.1) + activestorage (= 6.0.6.1) + activesupport (= 6.0.6.1) bundler (>= 1.3.0) - railties (= 6.0.5) + railties (= 6.0.6.1) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) @@ -313,11 +353,11 @@ GEM rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.4.2) - loofah (~> 2.3) - rails_autolink (1.1.6) + rails-html-sanitizer (1.5.0) + loofah (~> 2.19, >= 2.19.1) + rails_autolink (1.1.7) rails (> 3.1) - rails_best_practices (1.23.1) + rails_best_practices (1.23.2) activesupport code_analyzer (~> 0.5.5) erubis @@ -325,38 +365,44 @@ GEM json require_all (~> 3.0) ruby-progressbar - railties (6.0.5) - actionpack (= 6.0.5) - activesupport (= 6.0.5) + railties (6.0.6.1) + actionpack (= 6.0.6.1) + activesupport (= 6.0.6.1) method_source rake (>= 0.8.7) thor (>= 0.20.3, < 2.0) rainbow (3.1.1) rake (13.0.6) - rb-fsevent (0.11.1) + rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - redis (4.6.0) - regexp_parser (2.4.0) - representable (3.1.1) + redis (5.0.6) + redis-client (>= 0.9.0) + redis-client (0.12.2) + connection_pool + redis-namespace (1.10.0) + redis (>= 4) + regexp_parser (2.7.0) + representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) require_all (3.0.0) - responders (3.0.1) - actionpack (>= 5.0) - railties (>= 5.0) + responders (3.1.0) + actionpack (>= 5.2) + railties (>= 5.2) retriable (3.1.2) rexml (3.2.5) - rmagick (4.2.5) - rspec-core (3.11.0) - rspec-support (~> 3.11.0) - rspec-expectations (3.11.0) + rmagick (5.1.0) + pkg-config (~> 1.4) + rspec-core (3.12.1) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.2) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) - rspec-mocks (3.11.1) + rspec-support (~> 3.12.0) + rspec-mocks (3.12.3) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) + rspec-support (~> 3.12.0) rspec-rails (5.1.2) actionpack (>= 5.2) activesupport (>= 5.2) @@ -365,26 +411,28 @@ GEM rspec-expectations (~> 3.10) rspec-mocks (~> 3.10) rspec-support (~> 3.10) - rspec-support (3.11.0) - rspec_junit_formatter (0.5.1) + rspec-support (3.12.0) + rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.29.1) + rubocop (1.45.1) + json (~> 2.3) parallel (~> 1.10) - parser (>= 3.1.0.0) + parser (>= 3.2.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.17.0, < 2.0) + rubocop-ast (>= 1.24.1, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.18.0) - parser (>= 3.1.1.0) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.26.0) + parser (>= 3.2.1.0) ruby-openid (2.9.2) ruby-progressbar (1.11.0) ruby-vips (2.1.4) ffi (~> 1.12) + ruby2_keywords (0.0.5) rubyzip (2.3.2) - sanitize (6.0.0) + sanitize (6.0.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) sass (3.7.4) @@ -427,28 +475,30 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - ssrf_filter (1.0.7) - temple (0.8.2) - test-unit (3.5.3) + ssrf_filter (1.1.1) + temple (0.10.0) + test-unit (3.5.7) power_assert thor (1.2.1) thread_safe (0.3.6) - tilt (2.0.10) + tilt (2.0.11) time_difference (0.5.0) activesupport - timecop (0.9.5) - tinymce-rails (6.0.2) + timecop (0.9.6) + timeout (0.3.1) + tinymce-rails (6.3.1) railties (>= 3.1.1) trailblazer-option (0.1.2) - tzinfo (1.2.9) + tzinfo (1.2.11) thread_safe (~> 0.1) uber (0.1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) - unicode-display_width (2.1.0) + unicode-display_width (2.4.2) unicode_utils (1.4.0) unread (0.11.0) activerecord (>= 3) + uri (0.12.0) web-console (4.2.0) actionview (>= 6.0.0) activemodel (>= 6.0.0) @@ -460,16 +510,19 @@ GEM will_paginate (3.3.1) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.5.4) + zeitwerk (2.6.7) PLATFORMS + aarch64-linux arm64-darwin-21 + ruby DEPENDENCIES active_flag active_link_to active_record_union annotate + apparition awesome_print bbcoder better_errors @@ -484,8 +537,8 @@ DEPENDENCIES connection_pool country_select dalli + database_cleaner! database_cleaner-active_record - database_cleaner-redis dotenv-rails dynamic_form factory_bot_rails (= 4.10.0) @@ -498,16 +551,16 @@ DEPENDENCIES i18n_country_select jquery-rails mime-types + mongoid-tree mysql2 neat (~> 1.6.0) + net-http newrelic_rpm nokogiri omniauth omniauth-rails_csrf_protection omniauth-steam os - phantomjs - poltergeist pry-byebug pry-rails public_suffix @@ -518,6 +571,7 @@ DEPENDENCIES rails_autolink rails_best_practices rake + redis-namespace responders rmagick rspec-core @@ -545,7 +599,7 @@ DEPENDENCIES will_paginate RUBY VERSION - ruby 2.6.10p210 + ruby 2.7.7p221 BUNDLED WITH - 2.3.13 + 2.4.7 diff --git a/bin/script/entry.sh b/bin/script/entry.sh index 34be394..678162f 100755 --- a/bin/script/entry.sh +++ b/bin/script/entry.sh @@ -1,9 +1,12 @@ #!/bin/bash +# Start the app +# RAILS_ENV needs to be set at minimum, this will allow it to load env variables from the named .env files. + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +source $SCRIPT_DIR/../../script/env.sh .env .env.$RAILS_ENV .env.local .env.$RAILS_ENV.local cd $APP_PATH -source script/env.sh .env .env.$RAILS_ENV .env.local .env.$RAILS_ENV.local - # Create dirs mkdir -p tmp/pids tmp/sockets tmp/sessions tmp/cache log diff --git a/config/environments/test.rb b/config/environments/test.rb index d6ca82c..0b03631 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -5,7 +5,7 @@ Rails.application.configure do # test suite. You never need to work with it otherwise. Remember that # your test database is "scratch space" for the test suite and is wiped # and recreated between test runs. Don't rely on the data there! - config.cache_classes = true + config.cache_classes = false # Log error messages when you accidentally call methods on nil config.whiny_nils = true diff --git a/config/puma.rb b/config/puma.rb index 4e7b258..0526e2b 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -11,9 +11,6 @@ preload_app! # Start in foreground mode # daemonize false -# Rack up? -rackup DefaultRackup - # Set vars as we cannmot load them rails_env = ENV['RAILS_ENV'] || 'development' app_dir = ENV['APP_PATH'] || '/var/www' diff --git a/db/migrate/20120122001951_create_schema.rb b/db/migrate/20120122001951_create_schema.rb index 515326a..ffdbf19 100644 --- a/db/migrate/20120122001951_create_schema.rb +++ b/db/migrate/20120122001951_create_schema.rb @@ -1,4 +1,4 @@ -class CreateSchema < ActiveRecord::Migration +class CreateSchema < ActiveRecord::Migration[4.2] def up create_table "admin_requests", :force => true do |t| t.string "addr" diff --git a/db/migrate/20140330152235_increase_article_text_limit.rb b/db/migrate/20140330152235_increase_article_text_limit.rb index 333aa06..ad9ebc9 100644 --- a/db/migrate/20140330152235_increase_article_text_limit.rb +++ b/db/migrate/20140330152235_increase_article_text_limit.rb @@ -1,4 +1,4 @@ -class IncreaseArticleTextLimit < ActiveRecord::Migration +class IncreaseArticleTextLimit < ActiveRecord::Migration[4.2] def up change_column :articles, :text, :text, :limit => 16777215 change_column :articles, :text_parsed, :text, :limit => 16777215 diff --git a/db/migrate/20140509231817_add_stream.rb b/db/migrate/20140509231817_add_stream.rb index 3e7232f..113b547 100644 --- a/db/migrate/20140509231817_add_stream.rb +++ b/db/migrate/20140509231817_add_stream.rb @@ -1,4 +1,4 @@ -class AddStream < ActiveRecord::Migration +class AddStream < ActiveRecord::Migration[4.2] def change change_table :profiles do |p| p.string :stream diff --git a/db/migrate/20140510080652_add_caster.rb b/db/migrate/20140510080652_add_caster.rb index d4bb517..510e2d6 100644 --- a/db/migrate/20140510080652_add_caster.rb +++ b/db/migrate/20140510080652_add_caster.rb @@ -1,4 +1,4 @@ -class AddCaster < ActiveRecord::Migration +class AddCaster < ActiveRecord::Migration[4.2] def change change_table :matches do |m| m.string :caster_id diff --git a/db/migrate/20140810224606_add_layout_to_profile.rb b/db/migrate/20140810224606_add_layout_to_profile.rb index 8279800..2635d99 100644 --- a/db/migrate/20140810224606_add_layout_to_profile.rb +++ b/db/migrate/20140810224606_add_layout_to_profile.rb @@ -1,4 +1,4 @@ -class AddLayoutToProfile < ActiveRecord::Migration +class AddLayoutToProfile < ActiveRecord::Migration[4.2] def change add_column :profiles, :layout, :string end diff --git a/db/migrate/20141010193221_add_status_to_gatherer.rb b/db/migrate/20141010193221_add_status_to_gatherer.rb index a3e3205..b62730c 100644 --- a/db/migrate/20141010193221_add_status_to_gatherer.rb +++ b/db/migrate/20141010193221_add_status_to_gatherer.rb @@ -1,4 +1,4 @@ -class AddStatusToGatherer < ActiveRecord::Migration +class AddStatusToGatherer < ActiveRecord::Migration[4.2] def change add_column :gatherers, :status, :int, null: false, default: 0 end diff --git a/db/migrate/20150518162749_remove_rcon_from_servers.rb b/db/migrate/20150518162749_remove_rcon_from_servers.rb index 400c2e3..7a64c99 100644 --- a/db/migrate/20150518162749_remove_rcon_from_servers.rb +++ b/db/migrate/20150518162749_remove_rcon_from_servers.rb @@ -1,4 +1,4 @@ -class RemoveRconFromServers < ActiveRecord::Migration +class RemoveRconFromServers < ActiveRecord::Migration[4.2] def up remove_column :servers, :rcon end diff --git a/db/migrate/20150701233306_remove_tweets.rb b/db/migrate/20150701233306_remove_tweets.rb index d86c6ee..2828309 100644 --- a/db/migrate/20150701233306_remove_tweets.rb +++ b/db/migrate/20150701233306_remove_tweets.rb @@ -1,4 +1,4 @@ -class RemoveTweets < ActiveRecord::Migration +class RemoveTweets < ActiveRecord::Migration[4.2] def up drop_table :tweets end diff --git a/db/migrate/20150820223313_add_index_to_forumers.rb b/db/migrate/20150820223313_add_index_to_forumers.rb index 15ad4cd..7215897 100644 --- a/db/migrate/20150820223313_add_index_to_forumers.rb +++ b/db/migrate/20150820223313_add_index_to_forumers.rb @@ -1,4 +1,4 @@ -class AddIndexToForumers < ActiveRecord::Migration +class AddIndexToForumers < ActiveRecord::Migration[4.2] def change add_index :forumers, :forum_id add_index :forumers, :group_id diff --git a/db/migrate/20170304191254_add_creator_to_bans.rb b/db/migrate/20170304191254_add_creator_to_bans.rb index 5a09793..16b087f 100644 --- a/db/migrate/20170304191254_add_creator_to_bans.rb +++ b/db/migrate/20170304191254_add_creator_to_bans.rb @@ -1,4 +1,4 @@ -class AddCreatorToBans < ActiveRecord::Migration +class AddCreatorToBans < ActiveRecord::Migration[4.2] def change add_column :bans, :creator_id, :integer add_index :bans, :creator_id diff --git a/db/migrate/20170612182124_change_type_of_profile_parsed_signature.rb b/db/migrate/20170612182124_change_type_of_profile_parsed_signature.rb index fe2024a..ccf92c6 100644 --- a/db/migrate/20170612182124_change_type_of_profile_parsed_signature.rb +++ b/db/migrate/20170612182124_change_type_of_profile_parsed_signature.rb @@ -1,4 +1,4 @@ -class ChangeTypeOfProfileParsedSignature < ActiveRecord::Migration +class ChangeTypeOfProfileParsedSignature < ActiveRecord::Migration[4.2] def up change_column :profiles, :signature_parsed, :text end diff --git a/db/migrate/20170702150454_add_lastvisit_index_to_users.rb b/db/migrate/20170702150454_add_lastvisit_index_to_users.rb index 6729c1e..8541e11 100644 --- a/db/migrate/20170702150454_add_lastvisit_index_to_users.rb +++ b/db/migrate/20170702150454_add_lastvisit_index_to_users.rb @@ -1,4 +1,4 @@ -class AddLastvisitIndexToUsers < ActiveRecord::Migration +class AddLastvisitIndexToUsers < ActiveRecord::Migration[4.2] def change add_index :users, :lastvisit end diff --git a/db/migrate/20171013154050_create_match_proposals.rb b/db/migrate/20171013154050_create_match_proposals.rb index 7460482..8c4fc1c 100644 --- a/db/migrate/20171013154050_create_match_proposals.rb +++ b/db/migrate/20171013154050_create_match_proposals.rb @@ -1,4 +1,4 @@ -class CreateMatchProposals < ActiveRecord::Migration +class CreateMatchProposals < ActiveRecord::Migration[4.2] def up create_table :match_proposals do |t| t.references :match, index: true, forign_key: true diff --git a/db/migrate/20171109165433_create_custom_urls.rb b/db/migrate/20171109165433_create_custom_urls.rb index a211040..1c124ed 100644 --- a/db/migrate/20171109165433_create_custom_urls.rb +++ b/db/migrate/20171109165433_create_custom_urls.rb @@ -1,4 +1,4 @@ -class CreateCustomUrls < ActiveRecord::Migration +class CreateCustomUrls < ActiveRecord::Migration[4.2] def change create_table :custom_urls do |t| t.string :name diff --git a/db/migrate/20190917222520_add_teamers_count_to_teams.rb b/db/migrate/20190917222520_add_teamers_count_to_teams.rb index ba84e6e..bbc94ef 100644 --- a/db/migrate/20190917222520_add_teamers_count_to_teams.rb +++ b/db/migrate/20190917222520_add_teamers_count_to_teams.rb @@ -1,4 +1,4 @@ -class AddTeamersCountToTeams < ActiveRecord::Migration[4.2] +class AddTeamersCountToTeams < ActiveRecord::Migration[4.2][4.2] def change add_column :teams, :teamers_count, :integer end diff --git a/db/migrate/20200315144657_add_category_id_to_server_versions.rb b/db/migrate/20200315144657_add_category_id_to_server_versions.rb index ad127c5..ffb6b74 100644 --- a/db/migrate/20200315144657_add_category_id_to_server_versions.rb +++ b/db/migrate/20200315144657_add_category_id_to_server_versions.rb @@ -1,4 +1,4 @@ -class AddCategoryIdToServerVersions < ActiveRecord::Migration[4.2] +class AddCategoryIdToServerVersions < ActiveRecord::Migration[4.2][4.2] def change change_table :server_versions do |s| s.integer :category_id diff --git a/db/migrate/20200331020637_add_title_to_directories.rb b/db/migrate/20200331020637_add_title_to_directories.rb index abcf3ee..2620beb 100644 --- a/db/migrate/20200331020637_add_title_to_directories.rb +++ b/db/migrate/20200331020637_add_title_to_directories.rb @@ -1,4 +1,4 @@ -class AddTitleToDirectories < ActiveRecord::Migration[6.0] +class AddTitleToDirectories < ActiveRecord::Migration[4.2][6.0] def change change_table :directories do |m| m.string :title diff --git a/db/migrate/20200401031046_add_password_hash_to_users.rb b/db/migrate/20200401031046_add_password_hash_to_users.rb index 1da4456..9f3f406 100644 --- a/db/migrate/20200401031046_add_password_hash_to_users.rb +++ b/db/migrate/20200401031046_add_password_hash_to_users.rb @@ -1,4 +1,4 @@ -class AddPasswordHashToUsers < ActiveRecord::Migration[6.0] +class AddPasswordHashToUsers < ActiveRecord::Migration[4.2][6.0] def change change_table :users do |u| u.integer :password_hash, default: User::PASSWORD_MD5 diff --git a/db/migrate/20200401031518_update_passwords_to_scrypt.rb b/db/migrate/20200401031518_update_passwords_to_scrypt.rb index 36ed72a..306dd04 100644 --- a/db/migrate/20200401031518_update_passwords_to_scrypt.rb +++ b/db/migrate/20200401031518_update_passwords_to_scrypt.rb @@ -1,6 +1,6 @@ ENV['SCRYPT_MAX_TIME'] ||= "1" -class UpdatePasswordsToScrypt < ActiveRecord::Migration[6.0] +class UpdatePasswordsToScrypt < ActiveRecord::Migration[4.2][6.0] require 'scrypt' def up diff --git a/db/migrate/20200402000314_move_readings_to_read_marks.rb b/db/migrate/20200402000314_move_readings_to_read_marks.rb index 8c93122..d71e32a 100644 --- a/db/migrate/20200402000314_move_readings_to_read_marks.rb +++ b/db/migrate/20200402000314_move_readings_to_read_marks.rb @@ -1,4 +1,4 @@ -class MoveReadingsToReadMarks < ActiveRecord::Migration[6.0] +class MoveReadingsToReadMarks < ActiveRecord::Migration[4.2][6.0] def change execute "TRUNCATE read_marks" execute "INSERT INTO read_marks (readable_type, readable_id, reader_type, reader_id, timestamp) diff --git a/db/schema.rb b/db/schema.rb index a71e101..b9d75c0 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -12,7 +12,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do - create_table "article_versions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "article_versions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "article_id" t.integer "version" t.string "title" @@ -24,7 +24,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["article_id"], name: "index_article_versions_on_article_id" end - create_table "articles", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "articles", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "title" t.integer "status", null: false t.integer "category_id" @@ -41,7 +41,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_articles_on_user_id" end - create_table "bans", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "bans", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "steamid" t.integer "user_id" t.string "addr" @@ -79,7 +79,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["contest_id"], name: "index_brackets_on_contest_id" end - create_table "categories", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "categories", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.integer "sort" t.datetime "created_at" @@ -89,7 +89,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["sort"], name: "index_categories_on_sort" end - create_table "challenges", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "challenges", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "contester1_id" t.integer "contester2_id" t.datetime "match_time" @@ -112,7 +112,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_challenges_on_user_id" end - create_table "comments", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "comments", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.text "text" t.integer "user_id" t.string "commentable_type" @@ -126,7 +126,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_comments_on_user_id" end - create_table "contesters", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "contesters", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "team_id" t.datetime "created_at" t.datetime "updated_at" @@ -142,7 +142,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["team_id"], name: "index_contesters_on_team_id" end - create_table "contests", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "contests", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.datetime "start" t.datetime "end" @@ -166,7 +166,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["winner_id"], name: "index_contests_on_winner_id" end - create_table "contests_maps", id: false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "contests_maps", id: false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "contest_id" t.integer "map_id" t.index ["contest_id", "map_id"], name: "index_contests_maps_on_contest_id_and_map_id" @@ -182,7 +182,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["name"], name: "index_custom_urls_on_name" end - create_table "data_files", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "data_files", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.string "description" t.string "path" @@ -198,7 +198,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["related_id"], name: "index_data_files_on_related_id" end - create_table "directories", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "directories", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.string "description" t.string "path" @@ -210,7 +210,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["parent_id"], name: "index_directories_on_parent_id" end - create_table "forumers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "forumers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.integer "forum_id" t.integer "group_id" t.integer "access" @@ -220,7 +220,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["group_id"], name: "index_forumers_on_group_id" end - create_table "forums", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "forums", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.string "title" t.string "description" t.integer "category_id" @@ -230,7 +230,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["category_id"], name: "index_forums_on_category_id" end - create_table "gather_maps", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "gather_maps", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.integer "gather_id" t.integer "map_id" t.integer "votes" @@ -246,7 +246,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.datetime "updated_at" end - create_table "gatherers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "gatherers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.integer "user_id" t.integer "gather_id" t.integer "team" @@ -259,7 +259,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_gatherers_on_user_id" end - create_table "gathers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "gathers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.integer "status" t.integer "captain1_id" t.integer "captain2_id" @@ -280,12 +280,12 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["server_id"], name: "index_gathers_on_server_id" end - create_table "gathers_users", id: false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "gathers_users", id: false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.integer "gather_id", null: false t.integer "user_id", null: false end - create_table "groupers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "groupers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "group_id" t.integer "user_id" t.string "task" @@ -295,7 +295,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_groupers_on_user_id" end - create_table "groups", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "groups", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" @@ -303,12 +303,12 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["founder_id"], name: "index_groups_on_founder_id" end - create_table "groups_users", id: false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "groups_users", id: false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "group_id", null: false t.integer "user_id", null: false end - create_table "issues", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "issues", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "title" t.integer "status" t.integer "assigned_id" @@ -324,9 +324,9 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["category_id"], name: "index_issues_on_category_id" end - create_table "locks", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "locks", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.integer "lockable_id" - t.string "lockable_type", collation: "utf8_general_ci" + t.string "lockable_type", collation: "utf8mb3_general_ci" t.datetime "created_at" t.datetime "updated_at" t.index ["lockable_id", "lockable_type"], name: "index_locks_on_lockable_id_and_lockable_type" @@ -340,7 +340,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.datetime "updated_at" end - create_table "log_files", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "log_files", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.string "name" t.string "md5" t.integer "size" @@ -349,7 +349,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["server_id"], name: "index_log_files_on_server_id" end - create_table "logs", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "logs", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "server_id" t.text "text" t.integer "domain" @@ -368,7 +368,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["target_id"], name: "index_logs_on_target_id" end - create_table "maps", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "maps", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.string "download" t.datetime "created_at" @@ -386,7 +386,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["status"], name: "index_match_proposals_on_status" end - create_table "matchers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "matchers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "match_id", null: false t.integer "user_id", null: false t.integer "contester_id", null: false @@ -398,7 +398,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_matchers_on_user_id" end - create_table "matches", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "matches", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "contester1_id" t.integer "contester2_id" t.integer "score1" @@ -406,7 +406,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.datetime "match_time" t.integer "challenge_id" t.integer "contest_id" - t.text "report", collation: "utf8_swedish_ci" + t.text "report", collation: "utf8mb3_swedish_ci" t.datetime "created_at" t.datetime "updated_at" t.integer "map1_id" @@ -438,7 +438,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["week_id"], name: "index_matches_on_week_id" end - create_table "messages", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "messages", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "sender_type" t.integer "sender_id" t.string "recipient_type" @@ -452,7 +452,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["sender_id", "sender_type"], name: "index_messages_on_sender_id_and_sender_type" end - create_table "movies", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "movies", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.string "content" t.string "format" @@ -473,7 +473,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_movies_on_user_id" end - create_table "options", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "options", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "option" t.integer "poll_id" t.datetime "created_at" @@ -493,7 +493,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_pcws_on_user_id" end - create_table "polls", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "polls", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "question" t.datetime "end_date" t.integer "user_id" @@ -503,7 +503,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_polls_on_user_id" end - create_table "posts", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "posts", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.text "text" t.integer "topic_id" t.integer "user_id" @@ -514,7 +514,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_posts_on_user_id" end - create_table "predictions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "predictions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "match_id" t.integer "user_id" t.integer "score1" @@ -526,7 +526,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_predictions_on_user_id" end - create_table "profiles", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "profiles", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "user_id" t.string "msn" t.string "icq" @@ -581,11 +581,11 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_profiles_on_user_id" end - create_table "rates", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "rates", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "score" end - create_table "ratings", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "ratings", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "user_id" t.integer "rate_id" t.integer "rateable_id" @@ -607,7 +607,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["reader_type", "reader_id"], name: "index_read_marks_on_reader_type_and_reader_id" end - create_table "readings", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "readings", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "readable_type" t.integer "readable_id" t.integer "user_id" @@ -618,7 +618,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_readings_on_user_id" end - create_table "rounders", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "rounders", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.integer "round_id" t.integer "user_id" t.integer "team" @@ -633,7 +633,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_rounders_on_user_id" end - create_table "rounds", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "rounds", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.integer "server_id" t.datetime "start" t.datetime "end" @@ -652,7 +652,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["team2_id"], name: "index_rounds_on_team2_id" end - create_table "server_versions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "server_versions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "server_id" t.integer "version" t.datetime "created_at" @@ -665,7 +665,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["server_id"], name: "index_server_versions_on_server_id" end - create_table "servers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "servers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.string "description" t.string "dns" @@ -696,7 +696,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_servers_on_user_id" end - create_table "sessions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "sessions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "session_id", null: false t.text "data", size: :long t.datetime "created_at" @@ -705,7 +705,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["updated_at"], name: "index_sessions_on_updated_at" end - create_table "shoutmsg_archive", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "shoutmsg_archive", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "user_id" t.string "text" t.datetime "created_at" @@ -716,7 +716,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_shoutmsgs_on_user_id" end - create_table "shoutmsgs", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "shoutmsgs", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "user_id" t.string "text" t.datetime "created_at" @@ -727,7 +727,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_shoutmsgs_on_user_id" end - create_table "sites", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "sites", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.string "url" t.integer "category_id" @@ -738,7 +738,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["created_at"], name: "index_sites_on_created_at" end - create_table "teamers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "teamers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "team_id", null: false t.integer "user_id", null: false t.string "comment" @@ -749,7 +749,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_teamers_on_user_id" end - create_table "teams", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "teams", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.string "irc" t.string "web" @@ -766,7 +766,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["founder_id"], name: "index_teams_on_founder_id" end - create_table "topics", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci", force: :cascade do |t| + create_table "topics", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci", force: :cascade do |t| t.string "title" t.integer "user_id" t.integer "forum_id" @@ -777,7 +777,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_topics_on_user_id" end - create_table "user_versions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "user_versions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "user_id" t.integer "version" t.string "steamid" @@ -788,8 +788,8 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_user_versions_on_user_id" end - create_table "users", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| - t.string "username", collation: "utf8_bin" + create_table "users", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| + t.string "username", collation: "utf8mb3_bin" t.string "password" t.string "firstname" t.string "lastname" @@ -810,7 +810,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["team_id"], name: "index_users_on_team_id" end - create_table "versions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "versions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "item_type", null: false t.integer "item_id", null: false t.string "event", null: false @@ -820,7 +820,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id" end - create_table "view_counts", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "view_counts", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "viewable_id" t.string "viewable_type" t.string "ip_address" @@ -829,7 +829,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["viewable_type", "viewable_id"], name: "index_view_counts_on_viewable_type_and_viewable_id" end - create_table "votes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "votes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.integer "user_id" t.integer "votable_id" t.integer "poll_id" @@ -847,7 +847,7 @@ ActiveRecord::Schema.define(version: 2020_04_02_000314) do t.index ["user_id"], name: "index_watchers_on_user_id" end - create_table "weeks", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + create_table "weeks", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb3", force: :cascade do |t| t.string "name" t.date "start_date" t.integer "contest_id" diff --git a/docker-compose.yml b/docker-compose.yml index d641018..5f16680 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -54,7 +54,7 @@ services: development: # For debug; Use attach rather than this # command: /bin/bash - command: "bundle exec puma" + command: "/var/www/bin/script/entry.sh" tty: true stdin_open: true container_name: "ensl_development" diff --git a/script/env.sh b/script/env.sh index 06bb64c..bec5eff 100755 --- a/script/env.sh +++ b/script/env.sh @@ -1,4 +1,3 @@ -#!/bin/bash # use source script/env.sh args=("$@") diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 03d82cd..8aee15c 100755 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -9,6 +9,8 @@ Dotenv.load('.env.' + ENV['RAILS_ENV'] + '.local', '.env.local', '.env.' + ENV[' require "codeclimate-test-reporter" require "simplecov" +require 'capybara/apparition' + # CodeClimate::TestReporter.start SimpleCov.start "rails" @@ -16,8 +18,10 @@ require File.expand_path("../../config/environment", __FILE__) require "rspec/rails" require "capybara/rspec" -require "capybara/poltergeist" +# require "capybara/poltergeist" Capybara.default_max_wait_time = 5 +Capybara.javascript_driver = :apparition +=begin Capybara.register_driver :poltergeist do |app| Capybara::Poltergeist::Driver.new( app, @@ -26,8 +30,9 @@ Capybara.register_driver :poltergeist do |app| phantomjs: Phantomjs.path ) end +=end -Capybara.javascript_driver = :poltergeist +# Capybara.javascript_driver = :poltergeist # SELENIUM_HOST = ENV['SELENIUM_HOST'] # TEST_APP_HOST = ENV['TEST_APP_HOST'] diff --git a/spec/support/database_cleaner.rb b/spec/support/database_cleaner.rb index edc39d4..8da1bbd 100644 --- a/spec/support/database_cleaner.rb +++ b/spec/support/database_cleaner.rb @@ -1,7 +1,7 @@ RSpec.configure do |config| config.before(:suite) do DatabaseCleaner.clean_with( - :truncation, + :deletion, except: %w(ar_internal_metadata) ) end