diff --git a/Gemfile b/Gemfile index 67b5fa26..8ccbc498 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' -gem 'rails', '~> 7.1.0' +gem 'rails', '~> 7.2.0' gem 'net-smtp', require: false # required on Rails 6 for Ruby 3.1+ support gem 'net-pop', require: false # required on Rails 6 for Ruby 3.1+ support gem 'net-imap', require: false # required on Rails 6 for Ruby 3.1+ support @@ -56,8 +56,7 @@ gem 'with_transactional_lock' gem 'bootsnap', '>= 1.3.0', require: false -# Avoid deprecation notices by pinning mail to Ruby 2.7.5 compatible version -gem 'mail', '~> 2.7.1' +gem 'mail' gem 'sprockets-rails' diff --git a/Gemfile.lock b/Gemfile.lock index e3a13317..52e3e0f1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -16,83 +16,77 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.1.5.1) - actionpack (= 7.1.5.1) - activesupport (= 7.1.5.1) + actioncable (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.5.1) - actionpack (= 7.1.5.1) - activejob (= 7.1.5.1) - activerecord (= 7.1.5.1) - activestorage (= 7.1.5.1) - activesupport (= 7.1.5.1) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.1.5.1) - actionpack (= 7.1.5.1) - actionview (= 7.1.5.1) - activejob (= 7.1.5.1) - activesupport (= 7.1.5.1) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp + actionmailbox (7.2.2.1) + actionpack (= 7.2.2.1) + activejob (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) + mail (>= 2.8.0) + actionmailer (7.2.2.1) + actionpack (= 7.2.2.1) + actionview (= 7.2.2.1) + activejob (= 7.2.2.1) + activesupport (= 7.2.2.1) + mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (7.1.5.1) - actionview (= 7.1.5.1) - activesupport (= 7.1.5.1) + actionpack (7.2.2.1) + actionview (= 7.2.2.1) + activesupport (= 7.2.2.1) nokogiri (>= 1.8.5) racc - rack (>= 2.2.4) + rack (>= 2.2.4, < 3.2) rack-session (>= 1.0.1) rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.5.1) - actionpack (= 7.1.5.1) - activerecord (= 7.1.5.1) - activestorage (= 7.1.5.1) - activesupport (= 7.1.5.1) + useragent (~> 0.16) + actiontext (7.2.2.1) + actionpack (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.5.1) - activesupport (= 7.1.5.1) + actionview (7.2.2.1) + activesupport (= 7.2.2.1) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.1.5.1) - activesupport (= 7.1.5.1) + activejob (7.2.2.1) + activesupport (= 7.2.2.1) globalid (>= 0.3.6) - activemodel (7.1.5.1) - activesupport (= 7.1.5.1) - activerecord (7.1.5.1) - activemodel (= 7.1.5.1) - activesupport (= 7.1.5.1) + activemodel (7.2.2.1) + activesupport (= 7.2.2.1) + activerecord (7.2.2.1) + activemodel (= 7.2.2.1) + activesupport (= 7.2.2.1) timeout (>= 0.4.0) - activestorage (7.1.5.1) - actionpack (= 7.1.5.1) - activejob (= 7.1.5.1) - activerecord (= 7.1.5.1) - activesupport (= 7.1.5.1) + activestorage (7.2.2.1) + actionpack (= 7.2.2.1) + activejob (= 7.2.2.1) + activerecord (= 7.2.2.1) + activesupport (= 7.2.2.1) marcel (~> 1.0) - activesupport (7.1.5.1) + activesupport (7.2.2.1) base64 benchmark (>= 0.3) bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) + concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) logger (>= 1.4.2) minitest (>= 5.1) - mutex_m securerandom (>= 0.3) - tzinfo (~> 2.0) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.1) public_suffix (>= 2.0.2, < 6.0) airbrake (7.3.5) @@ -164,8 +158,8 @@ GEM libddwaf (~> 1.6.2.0.0) msgpack debase-ruby_core_source (3.2.0) - delayed_job (4.1.11) - activesupport (>= 3.0, < 8.0) + delayed_job (4.1.13) + activesupport (>= 3.0, < 9.0) delayed_job_active_record (4.1.7) activerecord (>= 3.0, < 8.0) delayed_job (>= 3.0, < 5) @@ -221,7 +215,7 @@ GEM pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - jbuilder (2.11.5) + jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) jmespath (1.6.2) @@ -260,8 +254,11 @@ GEM loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) - mail (2.7.1) + mail (2.8.1) mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp marcel (1.0.4) matrix (0.4.2) method_source (1.1.0) @@ -276,7 +273,6 @@ GEM msgpack (1.6.1) multi_json (1.15.0) multipart-post (2.3.0) - mutex_m (0.3.0) net-http-persistent (4.0.1) connection_pool (~> 2.2) net-http-pipeline (1.0.1) @@ -326,8 +322,8 @@ GEM pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) - pry-rails (0.3.9) - pry (>= 0.10.4) + pry-rails (0.3.11) + pry (>= 0.13.0) pry-remote (0.1.8) pry (~> 0.9) slop (~> 3.0) @@ -351,20 +347,20 @@ GEM rackup (1.0.1) rack (< 3) webrick - rails (7.1.5.1) - actioncable (= 7.1.5.1) - actionmailbox (= 7.1.5.1) - actionmailer (= 7.1.5.1) - actionpack (= 7.1.5.1) - actiontext (= 7.1.5.1) - actionview (= 7.1.5.1) - activejob (= 7.1.5.1) - activemodel (= 7.1.5.1) - activerecord (= 7.1.5.1) - activestorage (= 7.1.5.1) - activesupport (= 7.1.5.1) + rails (7.2.2.1) + actioncable (= 7.2.2.1) + actionmailbox (= 7.2.2.1) + actionmailer (= 7.2.2.1) + actionpack (= 7.2.2.1) + actiontext (= 7.2.2.1) + actionview (= 7.2.2.1) + activejob (= 7.2.2.1) + activemodel (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) bundler (>= 1.15.0) - railties (= 7.1.5.1) + railties (= 7.2.2.1) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -376,10 +372,10 @@ GEM rack railties (>= 5.1) semantic_logger (~> 4.16) - railties (7.1.5.1) - actionpack (= 7.1.5.1) - activesupport (= 7.1.5.1) - irb + railties (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) + irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) thor (~> 1.0, >= 1.2.2) @@ -512,6 +508,7 @@ GEM tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.4.2) + useragent (0.16.11) view_component (3.9.0) activesupport (>= 5.2.0, < 8.0) concurrent-ruby (~> 1.0) @@ -573,7 +570,7 @@ DEPENDENCIES jquery-rails kt-paperclip (~> 7.1) listen - mail (~> 2.7.1) + mail mini_racer net-imap net-pop @@ -588,7 +585,7 @@ DEPENDENCIES psych (< 4) puma (~> 5.6) rack-timeout - rails (~> 7.1.0) + rails (~> 7.2.0) rails_semantic_logger responders rspec-rails diff --git a/app/models/split.rb b/app/models/split.rb index 7034928f..a80392ef 100644 --- a/app/models/split.rb +++ b/app/models/split.rb @@ -22,7 +22,7 @@ class Split < ActiveRecord::Base validate :registry_weights_must_be_integers validate :registry_must_have_winning_variant_if_decided - enum platform: %i(mobile desktop) + enum :platform, %i(mobile desktop) before_validation :cast_registry diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 30e50dc6..2d0a42fd 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -8,6 +8,11 @@ # by default. You can change it below and use your own secret key. # config.secret_key = '14f8bac1ddc08c5ddf451241b891ed60f63bec228dfecdc9bf8efd92fb956a9a032f4bf84096b29a3a69c1e5078b1c9e8948c7213127243db8e424d17f3ffc55' + # Set explicitly to Rails default to avoid deprecation warnings. + # https://github.com/heartcombo/devise/pull/5645#issuecomment-1871849856 + # Remove when Devise changes `SecretKeyFinder` to not emit deprecations. + config.secret_key = Rails.application.secret_key_base + # ==> Mailer Configuration # Configure the e-mail address which will be shown in Devise::Mailer, # note that it will be overwritten if you use your own mailer class diff --git a/config/secrets.yml b/config/secrets.yml deleted file mode 100644 index 4267d6fa..00000000 --- a/config/secrets.yml +++ /dev/null @@ -1,30 +0,0 @@ -# Be sure to restart your server when you modify this file. - -# Your secret key is used for verifying the integrity of signed cookies. -# If you change this key, all old signed cookies will become invalid! - -# Make sure the secret is at least 30 characters and all random, -# no regular words or you'll be exposed to dictionary attacks. -# You can use `rake secret` to generate a secure secret key. - -# Make sure the secrets in this file are kept private -# if you're sharing your code publicly. - -development: - secret_key_base: 4e72852e1ad64d9b50b610fa81e18306fafc9c41ed86d17c69fdbb8f3e799f727b7d0d65226f8d56e905b3e75f1d049f6bd3f882e6b7920ac7542eacb0daecd5 -test: - secret_key_base: b0384f07d6307be0e0c4957f816108629fe03cbc47e1545d32b70ab30d19658601e8e88abc0b678273710e747e5d2e9bf274fc9b3efc7166275553894cc9aa58 - -develop: - secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> -stage: - secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> -labs: - secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> -demo: - secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> - -# Do not keep production secrets in the repository, -# instead read values from the environment. -production: - secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>