From 1d514978d31b8c17c1e9f65c7139dea798dee9a6 Mon Sep 17 00:00:00 2001 From: Margarita Barvinok Date: Thu, 18 Jun 2026 11:18:24 -0400 Subject: [PATCH 1/3] upgrade ruby and rails --- .ruby-version | 2 +- .tools-versions | 2 +- Gemfile | 10 +-- Gemfile.lock | 154 +++++++++++++++++++----------------------- README.md | 2 +- config/application.rb | 1 - config/routes.rb | 1 - 7 files changed, 78 insertions(+), 94 deletions(-) diff --git a/.ruby-version b/.ruby-version index 9c25013..1454f6e 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.6 +4.0.1 diff --git a/.tools-versions b/.tools-versions index 29ecc4a..6074897 100644 --- a/.tools-versions +++ b/.tools-versions @@ -1,4 +1,4 @@ -ruby 3.3.6 +ruby 4.0.1 nodejs 18.19.0 bundler 2.5.9 yarn 1.22.19 diff --git a/Gemfile b/Gemfile index cbb4f7f..bb14978 100644 --- a/Gemfile +++ b/Gemfile @@ -1,9 +1,9 @@ source "https://rubygems.org" -ruby "3.3.6" +ruby "4.0.1" # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" -gem "rails", "~> 7.2.3", ">= 7.2.3.1" +gem "rails", "~> 8.1.3" # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] gem "sprockets-rails" @@ -57,9 +57,9 @@ gem 'ldap_lookup', '~> 2.1.0' gem "pundit" # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] -gem "image_processing", "~> 1.2" - +gem "image_processing", "~> 2.0" gem "chartkick" +gem 'csv', '~> 3.3', '>= 3.3.5' group :development, :test do # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem @@ -84,7 +84,7 @@ end group :development do # Use console on exceptions pages [https://github.com/rails/web-console] gem "web-console" - gem 'annotate', '~> 3.2' + # gem 'annotate' # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler] # gem "rack-mini-profiler" diff --git a/Gemfile.lock b/Gemfile.lock index b82bd91..01edfd4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,84 +1,82 @@ GEM remote: https://rubygems.org/ specs: - actioncable (7.2.3.1) - actionpack (= 7.2.3.1) - activesupport (= 7.2.3.1) + action_text-trix (2.1.19) + railties + actioncable (8.1.3) + actionpack (= 8.1.3) + activesupport (= 8.1.3) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.2.3.1) - actionpack (= 7.2.3.1) - activejob (= 7.2.3.1) - activerecord (= 7.2.3.1) - activestorage (= 7.2.3.1) - activesupport (= 7.2.3.1) + actionmailbox (8.1.3) + actionpack (= 8.1.3) + activejob (= 8.1.3) + activerecord (= 8.1.3) + activestorage (= 8.1.3) + activesupport (= 8.1.3) mail (>= 2.8.0) - actionmailer (7.2.3.1) - actionpack (= 7.2.3.1) - actionview (= 7.2.3.1) - activejob (= 7.2.3.1) - activesupport (= 7.2.3.1) + actionmailer (8.1.3) + actionpack (= 8.1.3) + actionview (= 8.1.3) + activejob (= 8.1.3) + activesupport (= 8.1.3) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (7.2.3.1) - actionview (= 7.2.3.1) - activesupport (= 7.2.3.1) - cgi + actionpack (8.1.3) + actionview (= 8.1.3) + activesupport (= 8.1.3) nokogiri (>= 1.8.5) - racc - rack (>= 2.2.4, < 3.3) + rack (>= 2.2.4) rack-session (>= 1.0.1) rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (7.2.3.1) - actionpack (= 7.2.3.1) - activerecord (= 7.2.3.1) - activestorage (= 7.2.3.1) - activesupport (= 7.2.3.1) + actiontext (8.1.3) + action_text-trix (~> 2.1.15) + actionpack (= 8.1.3) + activerecord (= 8.1.3) + activestorage (= 8.1.3) + activesupport (= 8.1.3) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.2.3.1) - activesupport (= 7.2.3.1) + actionview (8.1.3) + activesupport (= 8.1.3) builder (~> 3.1) - cgi erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.2.3.1) - activesupport (= 7.2.3.1) + activejob (8.1.3) + activesupport (= 8.1.3) globalid (>= 0.3.6) - activemodel (7.2.3.1) - activesupport (= 7.2.3.1) - activerecord (7.2.3.1) - activemodel (= 7.2.3.1) - activesupport (= 7.2.3.1) + activemodel (8.1.3) + activesupport (= 8.1.3) + activerecord (8.1.3) + activemodel (= 8.1.3) + activesupport (= 8.1.3) timeout (>= 0.4.0) - activestorage (7.2.3.1) - actionpack (= 7.2.3.1) - activejob (= 7.2.3.1) - activerecord (= 7.2.3.1) - activesupport (= 7.2.3.1) + activestorage (8.1.3) + actionpack (= 8.1.3) + activejob (= 8.1.3) + activerecord (= 8.1.3) + activesupport (= 8.1.3) marcel (~> 1.0) - activesupport (7.2.3.1) + activesupport (8.1.3) base64 - benchmark (>= 0.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + json logger (>= 1.4.2) - minitest (>= 5.1, < 6) + minitest (>= 5.1) securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) addressable (2.9.0) public_suffix (>= 2.0.2, < 8.0) - annotate (3.2.0) - activerecord (>= 3.2, < 8.0) - rake (>= 10.4, < 14.0) axe-core-api (4.11.1) dumb_delegator ostruct @@ -92,7 +90,6 @@ GEM thread_safe (~> 0.3, >= 0.3.1) base64 (0.3.0) bcrypt (3.1.22) - benchmark (0.5.0) bigdecimal (4.1.2) bindex (0.8.1) bootsnap (1.18.4) @@ -109,7 +106,6 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - cgi (0.5.1) chartkick (5.1.2) childprocess (5.1.0) logger (~> 1.5) @@ -121,6 +117,7 @@ GEM crass (1.0.6) cssbundling-rails (1.4.1) railties (>= 6.0.0) + csv (3.3.5) date (3.5.1) debug (1.9.2) irb (~> 1.10) @@ -149,21 +146,13 @@ GEM railties (>= 5.0.0) faker (3.5.1) i18n (>= 1.8.11, < 2) - ffi (1.17.0-aarch64-linux-gnu) - ffi (1.17.0-arm-linux-gnu) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86-linux-gnu) - ffi (1.17.0-x86_64-darwin) - ffi (1.17.0-x86_64-linux-gnu) globalid (1.2.1) activesupport (>= 6.1) hashie (5.0.0) i18n (1.14.8) concurrent-ruby (~> 1.0) ice_nine (0.11.2) - image_processing (1.13.0) - mini_magick (>= 4.9.5, < 5) - ruby-vips (>= 2.0.17, < 3) + image_processing (2.0.2) io-console (0.8.2) irb (1.18.0) pp (>= 0.6.0) @@ -175,6 +164,7 @@ GEM activesupport (>= 5.0.0) jsbundling-rails (1.3.1) railties (>= 6.0.0) + json (2.19.9) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -208,10 +198,9 @@ GEM net-imap net-pop net-smtp - marcel (1.1.0) + marcel (1.2.1) matrix (0.4.2) method_source (1.1.0) - mini_magick (4.13.2) mini_mime (1.1.5) mini_portile2 (2.8.9) minitest (5.27.0) @@ -286,20 +275,20 @@ GEM rack (>= 1.3) rackup (2.3.1) rack (>= 3) - rails (7.2.3.1) - actioncable (= 7.2.3.1) - actionmailbox (= 7.2.3.1) - actionmailer (= 7.2.3.1) - actionpack (= 7.2.3.1) - actiontext (= 7.2.3.1) - actionview (= 7.2.3.1) - activejob (= 7.2.3.1) - activemodel (= 7.2.3.1) - activerecord (= 7.2.3.1) - activestorage (= 7.2.3.1) - activesupport (= 7.2.3.1) + rails (8.1.3) + actioncable (= 8.1.3) + actionmailbox (= 8.1.3) + actionmailer (= 8.1.3) + actionpack (= 8.1.3) + actiontext (= 8.1.3) + actionview (= 8.1.3) + activejob (= 8.1.3) + activemodel (= 8.1.3) + activerecord (= 8.1.3) + activestorage (= 8.1.3) + activesupport (= 8.1.3) bundler (>= 1.15.0) - railties (= 7.2.3.1) + railties (= 8.1.3) rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest @@ -310,10 +299,9 @@ GEM rails_accessibility_testing (1.6.0) axe-core-capybara (~> 4.0) nokogiri (>= 1.10) - railties (7.2.3.1) - actionpack (= 7.2.3.1) - activesupport (= 7.2.3.1) - cgi + railties (8.1.3) + actionpack (= 8.1.3) + activesupport (= 8.1.3) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -357,9 +345,6 @@ GEM ruby-saml (1.18.1) nokogiri (>= 1.13.10) rexml - ruby-vips (2.2.2) - ffi (~> 1.12) - logger rubyzip (2.3.2) securerandom (0.4.1) selenium-webdriver (4.10.0) @@ -387,6 +372,7 @@ GEM railties (>= 6.0.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) + uri (1.1.1) useragent (0.16.11) virtus (2.0.0) axiom-types (~> 0.1) @@ -404,7 +390,7 @@ GEM rubyzip (>= 1.3.0) selenium-webdriver (~> 4.0, < 4.11) websocket (1.2.11) - websocket-driver (0.8.0) + websocket-driver (0.8.1) base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) @@ -421,19 +407,19 @@ PLATFORMS x86_64-linux DEPENDENCIES - annotate (~> 3.2) axe-core-capybara (~> 4.0) bootsnap brakeman capybara (~> 3.40) chartkick cssbundling-rails + csv (~> 3.3, >= 3.3.5) debug devise (~> 5.0) dotenv-rails factory_bot_rails faker - image_processing (~> 1.2) + image_processing (~> 2.0) jbuilder jsbundling-rails kaminari @@ -446,7 +432,7 @@ DEPENDENCIES puma (>= 5.0) pundit pundit-matchers (~> 3.1, >= 3.1.2) - rails (~> 7.2.3, >= 7.2.3.1) + rails (~> 8.1.3) rails_accessibility_testing (~> 1.6) redis (>= 4.0.1) repost @@ -460,7 +446,7 @@ DEPENDENCIES webdrivers (= 5.3.0) RUBY VERSION - ruby 3.3.6p108 + ruby 4.0.1p0 BUNDLED WITH 2.5.3 diff --git a/README.md b/README.md index c5299a7..1eb8ddc 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # LSA Movers Classrooms -![](https://img.shields.io/badge/Ruby%20Version-3.3.6-red) ![](https://img.shields.io/badge/Rails%20Version-7.1.3-red) ![](https://img.shields.io/badge/Postgresql%20Version-14.10-red) +![](https://img.shields.io/badge/Ruby%20Version-4.0.1-red) ![](https://img.shields.io/badge/Rails%20Version-8.1.3-red) ![](https://img.shields.io/badge/Postgresql%20Version-14.10-red) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) The finished application allows admins to set up buildings and rooms for ROVERs to check, monitor rooms status, run reports, and keep rooms’ resources up to date. ROVERs should be able to log in on phones, pick rooms, fill out the rooms’ form, and create TDX tickets for any problems. diff --git a/config/application.rb b/config/application.rb index 14b3308..644ab80 100644 --- a/config/application.rb +++ b/config/application.rb @@ -12,7 +12,6 @@ require "action_text/engine" require "action_view/railtie" require "action_cable/engine" -require "csv" # require "rails/test_unit/railtie" # Require the gems listed in Gemfile, including any gems diff --git a/config/routes.rb b/config/routes.rb index 66c8bf3..3c0dabf 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -47,7 +47,6 @@ resources :rooms do resources :specific_attributes, module: :rooms, except: [:show] resources :room_states, module: :rooms, except: [:destroy] - resources :room_tickets, module: :rooms, only: [:send_email_for_tdx_ticket] end post 'archive_room/:id', to: 'rooms#archive', as: :archive_room post 'unarchive_room/:id', to: 'rooms#unarchive', as: :unarchive_room From d4d2864cedd0b25e7cbe9d97251b447020478094 Mon Sep 17 00:00:00 2001 From: Margarita Barvinok Date: Thu, 18 Jun 2026 11:30:27 -0400 Subject: [PATCH 2/3] fix rspec --- Gemfile.lock | 50 ++++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 01edfd4..b21eea8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -112,7 +112,7 @@ GEM coderay (1.1.3) coercible (1.0.0) descendants_tracker (~> 0.0.1) - concurrent-ruby (1.3.6) + concurrent-ruby (1.3.7) connection_pool (3.0.2) crass (1.0.6) cssbundling-rails (1.4.1) @@ -130,7 +130,7 @@ GEM railties (>= 7.0) responders warden (~> 1.2.3) - diff-lcs (1.5.1) + diff-lcs (1.6.2) dotenv (3.2.0) dotenv-rails (3.2.0) dotenv (= 3.2.0) @@ -149,7 +149,7 @@ GEM globalid (1.2.1) activesupport (>= 6.1) hashie (5.0.0) - i18n (1.14.8) + i18n (1.15.1) concurrent-ruby (~> 1.0) ice_nine (0.11.2) image_processing (2.0.2) @@ -203,7 +203,9 @@ GEM method_source (1.1.0) mini_mime (1.1.5) mini_portile2 (2.8.9) - minitest (5.27.0) + minitest (6.0.6) + drb (~> 2.0) + prism (~> 1.5) msgpack (1.7.5) net-imap (0.5.14) date @@ -216,18 +218,18 @@ GEM net-smtp (0.5.0) net-protocol nio4r (2.7.4) - nokogiri (1.19.3) + nokogiri (1.19.4) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.19.3-aarch64-linux-gnu) + nokogiri (1.19.4-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.19.3-arm-linux-gnu) + nokogiri (1.19.4-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.19.3-arm64-darwin) + nokogiri (1.19.4-arm64-darwin) racc (~> 1.4) - nokogiri (1.19.3-x86_64-darwin) + nokogiri (1.19.4-x86_64-darwin) racc (~> 1.4) - nokogiri (1.19.3-x86_64-linux-gnu) + nokogiri (1.19.4-x86_64-linux-gnu) racc (~> 1.4) omniauth (2.1.3) hashie (>= 3.4.6) @@ -249,7 +251,7 @@ GEM pry (0.15.0) coderay (~> 1.1) method_source (~> 1.0) - psych (5.3.1) + psych (5.4.0) date stringio public_suffix (7.0.5) @@ -325,23 +327,23 @@ GEM actionpack (>= 7.0) railties (>= 7.0) rexml (3.4.4) - rspec-core (3.13.2) + rspec-core (3.13.6) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.2) + rspec-mocks (3.13.8) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.1.0) - actionpack (>= 7.0) - activesupport (>= 7.0) - railties (>= 7.0) - rspec-core (~> 3.13) - rspec-expectations (~> 3.13) - rspec-mocks (~> 3.13) - rspec-support (~> 3.13) - rspec-support (3.13.1) + rspec-rails (8.0.4) + actionpack (>= 7.2) + activesupport (>= 7.2) + railties (>= 7.2) + rspec-core (>= 3.13.0, < 5.0.0) + rspec-expectations (>= 3.13.0, < 5.0.0) + rspec-mocks (>= 3.13.0, < 5.0.0) + rspec-support (>= 3.13.0, < 5.0.0) + rspec-support (3.13.7) ruby-saml (1.18.1) nokogiri (>= 1.13.10) rexml @@ -396,7 +398,7 @@ GEM websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.7.5) + zeitwerk (2.8.2) PLATFORMS aarch64-linux From 61d76b9fe82338fb0dd2cdeb8f46410a0c627ef4 Mon Sep 17 00:00:00 2001 From: Margarita Barvinok Date: Thu, 18 Jun 2026 11:55:19 -0400 Subject: [PATCH 3/3] fix versions --- Dockerfile | 2 +- config/application.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 41d9e26..6a50783 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # syntax = docker/dockerfile:1 # Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile -ARG RUBY_VERSION=3.3.0 +ARG RUBY_VERSION=4.0.1 FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim as base # Rails app lives here diff --git a/config/application.rb b/config/application.rb index 644ab80..e1cde92 100644 --- a/config/application.rb +++ b/config/application.rb @@ -21,7 +21,7 @@ module MoversClassrooms class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. - config.load_defaults 7.1 + config.load_defaults 8.1 # Please, add to the `ignore` list any other `lib` subdirectories that do # not contain `.rb` files, or that should not be reloaded or eager loaded.