diff --git a/.env.example b/.env.example index 4e69e17..ed0d079 100644 --- a/.env.example +++ b/.env.example @@ -11,15 +11,19 @@ APP_SECRET=randomstringhere # Since this is inside Docker container, it doesn't really matter DEPLOY_PATH=/var/www -# Puma settings -PUMA_WORKERS=5 +# Puma fails in cluster mode, so use 0 workers +PUMA_WORKERS=0 + +# Threads and port PUMA_MIN_THREADS=1 PUMA_MAX_THREADS=16 PUMA_PORT=4000 + +# Use higher timeout if debug fails PUMA_TIMEOUT=30 # Docker adds mysql name to /etc/hosts -MYSQL_HOST=mysql +MYSQL_HOST=db # This is used by both rails + mysql MYSQL_DATABASE=ensl diff --git a/Gemfile b/Gemfile index 20c9a59..ff5e4af 100644 --- a/Gemfile +++ b/Gemfile @@ -5,16 +5,14 @@ ruby '2.6.5' # Rails core gem 'rails', '~> 6.0.2.2' -gem 'rake', '< 11.0' +gem 'rake' # Dotenv gem 'dotenv-rails' # DB -# Fixme: using this bc puma startup problem -gem 'active_record_union' -gem 'dalli' gem 'mysql2' +gem 'dalli' # Web server gem 'faraday' @@ -27,49 +25,47 @@ gem 'unread' # gem 'ratyrate' # gem "acts_as_rateable", :git => "git://github.com/anton-zaytsev/acts_as_rateable.git" -# View helper gems -gem 'active_link_to' -gem 'bbcoder' -gem 'bluecloth' -gem 'carrierwave' -gem 'nokogiri' -gem 'rmagick' -gem 'country_select', require: 'country_select_without_sort_alphabetical' -gem 'i18n_country_select' -gem 'dynamic_form' -gem 'public_suffix' -gem 'sanitize' -gem 'will_paginate' -gem 'time_difference' - # External APIs gem 'google-api-client', '~> 0.10.3' gem 'steam-condenser', github: 'koraktor/steam-condenser-ruby' -# FIXME: Legacy feature shims -gem 'rails_autolink' -gem 'responders' +# View and model helper gems +gem 'time_difference' +gem 'public_suffix' +gem 'carrierwave' +gem 'bbcoder' +gem 'bluecloth' +gem 'nokogiri' +gem 'sanitize' +gem 'rmagick' +gem 'will_paginate' +gem 'active_link_to' +gem 'country_select', require: 'country_select_without_sort_alphabetical' +gem 'i18n_country_select' +gem 'dynamic_form' + +# Views +gem 'haml' # Javascript gem 'coffee-rails' gem 'jquery-rails' gem 'tinymce-rails' gem 'i18n-js' +gem 'uglifier' +# CSS +gem 'sass-rails', '~> 5.0.3' # This it outdated by sassc gem 'bourbon','~> 3.1.8' +gem 'neat', '~> 1.6.0' # Upgrading will cause issues +gem 'font-awesome-sass', '~> 4.1.0.0' # Fix icons before updating -# Fix icons before updating -gem 'font-awesome-sass', '~> 4.1.0.0' -gem 'haml' +# FIXME: Legacy feature shims +gem 'rails_autolink' +gem 'responders' +gem 'active_record_union' -# Upgrading will cause issues -gem 'neat', '~> 1.6.0' - -# This it outdated by sassc -gem 'sass-rails', '~> 5.0.3' -gem 'uglifier', '~> 2.5.0' - -# Dependency version fix +# FIXME: Dependency version fix gem 'signet', '0.11.0' group :production do @@ -77,15 +73,20 @@ group :production do end group :development do + # Check models + gem 'rubocop' + + # annotate models gem 'annotate' + + # error message gem 'better_errors' gem 'binding_of_caller' gem 'web-console' - gem 'rubocop' end group :test do - # Use dev versions because of rspec bug + # FIXME: Use dev versions because of rspec bug gem 'rspec-core', git: 'https://github.com/rspec/rspec-core' gem 'rspec-expectations', git: 'https://github.com/rspec/rspec-expectations' gem 'rspec-mocks', git: 'https://github.com/rspec/rspec-mocks' @@ -97,8 +98,8 @@ group :test do # Feature testing gem 'capybara' - gem 'phantomjs', require: 'phantomjs/poltergeist' gem 'poltergeist' + gem 'phantomjs', require: 'phantomjs/poltergeist' gem 'selenium-webdriver' # Fix FF issue @@ -130,6 +131,7 @@ group :development, :test do gem 'pry-rails' gem 'pry-byebug' gem 'spring' + gem "rails_best_practices" # For n+1 uqeries # gem 'bullet' end diff --git a/Gemfile.lock b/Gemfile.lock index 86da941..e570388 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,7 +8,7 @@ GIT GIT remote: https://github.com/rspec/rspec-core - revision: 002ebcb65324bca7b3ee044e22f4c02133fce14d + revision: dd3b2abe63b0dbd4c5c4131275a858d63cddab0e specs: rspec-core (3.10.0.pre) rspec-support (= 3.10.0.pre) @@ -31,7 +31,7 @@ GIT GIT remote: https://github.com/rspec/rspec-rails - revision: 0cafe7ff69d3b11a35e007c76e16e27069f67d6d + revision: b2e51f96e659535c435eec25408f89c316aacb76 specs: rspec-rails (4.1.0.pre) actionpack (>= 4.2) @@ -150,6 +150,8 @@ GEM mini_mime (>= 0.1.3) childprocess (3.0.0) cliver (0.3.2) + code_analyzer (0.5.1) + sexp_processor codeclimate-test-reporter (1.0.7) simplecov coderay (1.1.2) @@ -188,6 +190,7 @@ GEM railties (>= 3.2, < 6.1) dynamic_form (1.1.4) erubi (1.9.0) + erubis (2.7.0) execjs (2.7.0) factory_bot (4.10.0) activesupport (>= 3.0.0) @@ -328,6 +331,14 @@ GEM loofah (~> 2.3) rails_autolink (1.1.6) rails (> 3.1) + rails_best_practices (1.20.0) + activesupport + code_analyzer (>= 0.5.1) + erubis + i18n + json + require_all (~> 3.0) + ruby-progressbar railties (6.0.2.2) actionpack (= 6.0.2.2) activesupport (= 6.0.2.2) @@ -336,7 +347,7 @@ GEM thor (>= 0.20.3, < 2.0) rainbow (3.0.0) raindrops (0.19.1) - rake (10.5.0) + rake (13.0.1) rb-fsevent (0.10.3) rb-inotify (0.10.1) ffi (~> 1.0) @@ -346,12 +357,13 @@ GEM declarative (< 0.1.0) declarative-option (< 0.2.0) uber (< 0.2.0) + require_all (3.0.0) responders (3.0.0) actionpack (>= 5.0) railties (>= 5.0) retriable (3.1.2) rexml (3.2.4) - rmagick (4.1.0) + rmagick (4.1.1) rspec_junit_formatter (0.4.1) rspec-core (>= 2, < 4, != 2.12.0) rubocop (0.80.1) @@ -384,6 +396,7 @@ GEM selenium-webdriver (3.142.7) childprocess (>= 0.5, < 4.0) rubyzip (>= 1.2.2) + sexp_processor (4.14.1) signet (0.11.0) addressable (~> 2.3) faraday (~> 0.9) @@ -418,9 +431,8 @@ GEM tzinfo (1.2.6) thread_safe (~> 0.1) uber (0.1.0) - uglifier (2.5.3) - execjs (>= 0.3.0) - json (>= 1.8.0) + uglifier (4.2.0) + execjs (>= 0.3.0, < 3) unicode-display_width (1.6.1) unicode_utils (1.4.0) unicorn (5.5.4) @@ -486,7 +498,8 @@ DEPENDENCIES rails (~> 6.0.2.2) rails-controller-testing rails_autolink - rake (< 11.0) + rails_best_practices + rake responders rmagick rspec-core! @@ -507,7 +520,7 @@ DEPENDENCIES time_difference timecop tinymce-rails - uglifier (~> 2.5.0) + uglifier unicorn unread web-console