diff --git a/Gemfile b/Gemfile index b089cfe..8f55f2a 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,7 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } # ruby '3.3.9' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' -gem 'rails', '~> 7.2.2' +gem 'rails', '~> 8.0.5' gem 'date', '3.1.3' # Lock to Ruby 3.0 version of gem for live service diff --git a/Gemfile.lock b/Gemfile.lock index 7b66985..074915a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,70 +1,67 @@ GEM remote: https://rubygems.org/ specs: - actioncable (7.2.3.2) - actionpack (= 7.2.3.2) - activesupport (= 7.2.3.2) + actioncable (8.0.5.1) + actionpack (= 8.0.5.1) + activesupport (= 8.0.5.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.2.3.2) - actionpack (= 7.2.3.2) - activejob (= 7.2.3.2) - activerecord (= 7.2.3.2) - activestorage (= 7.2.3.2) - activesupport (= 7.2.3.2) + actionmailbox (8.0.5.1) + actionpack (= 8.0.5.1) + activejob (= 8.0.5.1) + activerecord (= 8.0.5.1) + activestorage (= 8.0.5.1) + activesupport (= 8.0.5.1) mail (>= 2.8.0) - actionmailer (7.2.3.2) - actionpack (= 7.2.3.2) - actionview (= 7.2.3.2) - activejob (= 7.2.3.2) - activesupport (= 7.2.3.2) + actionmailer (8.0.5.1) + actionpack (= 8.0.5.1) + actionview (= 8.0.5.1) + activejob (= 8.0.5.1) + activesupport (= 8.0.5.1) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (7.2.3.2) - actionview (= 7.2.3.2) - activesupport (= 7.2.3.2) - cgi + actionpack (8.0.5.1) + actionview (= 8.0.5.1) + activesupport (= 8.0.5.1) 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.2) - actionpack (= 7.2.3.2) - activerecord (= 7.2.3.2) - activestorage (= 7.2.3.2) - activesupport (= 7.2.3.2) + actiontext (8.0.5.1) + actionpack (= 8.0.5.1) + activerecord (= 8.0.5.1) + activestorage (= 8.0.5.1) + activesupport (= 8.0.5.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.2.3.2) - activesupport (= 7.2.3.2) + actionview (8.0.5.1) + activesupport (= 8.0.5.1) builder (~> 3.1) - cgi erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.2.3.2) - activesupport (= 7.2.3.2) + activejob (8.0.5.1) + activesupport (= 8.0.5.1) globalid (>= 0.3.6) - activemodel (7.2.3.2) - activesupport (= 7.2.3.2) - activerecord (7.2.3.2) - activemodel (= 7.2.3.2) - activesupport (= 7.2.3.2) + activemodel (8.0.5.1) + activesupport (= 8.0.5.1) + activerecord (8.0.5.1) + activemodel (= 8.0.5.1) + activesupport (= 8.0.5.1) timeout (>= 0.4.0) activerecord-import (2.2.0) activerecord (>= 4.2) - activestorage (7.2.3.2) - actionpack (= 7.2.3.2) - activejob (= 7.2.3.2) - activerecord (= 7.2.3.2) - activesupport (= 7.2.3.2) + activestorage (8.0.5.1) + actionpack (= 8.0.5.1) + activejob (= 8.0.5.1) + activerecord (= 8.0.5.1) + activesupport (= 8.0.5.1) marcel (~> 1.0) - activesupport (7.2.3.2) + activesupport (8.0.5.1) base64 benchmark (>= 0.3) bigdecimal @@ -73,9 +70,10 @@ GEM drb i18n (>= 1.6, < 2) 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) ast (2.4.3) @@ -262,20 +260,20 @@ GEM rack (>= 1.3) rackup (2.3.1) rack (>= 3) - rails (7.2.3.2) - actioncable (= 7.2.3.2) - actionmailbox (= 7.2.3.2) - actionmailer (= 7.2.3.2) - actionpack (= 7.2.3.2) - actiontext (= 7.2.3.2) - actionview (= 7.2.3.2) - activejob (= 7.2.3.2) - activemodel (= 7.2.3.2) - activerecord (= 7.2.3.2) - activestorage (= 7.2.3.2) - activesupport (= 7.2.3.2) + rails (8.0.5.1) + actioncable (= 8.0.5.1) + actionmailbox (= 8.0.5.1) + actionmailer (= 8.0.5.1) + actionpack (= 8.0.5.1) + actiontext (= 8.0.5.1) + actionview (= 8.0.5.1) + activejob (= 8.0.5.1) + activemodel (= 8.0.5.1) + activerecord (= 8.0.5.1) + activestorage (= 8.0.5.1) + activesupport (= 8.0.5.1) bundler (>= 1.15.0) - railties (= 7.2.3.2) + railties (= 8.0.5.1) rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest @@ -283,10 +281,9 @@ GEM rails-html-sanitizer (1.7.1) loofah (~> 2.25, >= 2.25.2) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) - railties (7.2.3.2) - actionpack (= 7.2.3.2) - activesupport (= 7.2.3.2) - cgi + railties (8.0.5.1) + actionpack (= 8.0.5.1) + activesupport (= 8.0.5.1) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -365,6 +362,7 @@ GEM unicode-display_width (3.2.0) unicode-emoji (~> 4.1) unicode-emoji (4.2.0) + uri (1.1.1) useragent (0.16.11) websocket (1.2.11) websocket-driver (0.8.2) @@ -399,7 +397,7 @@ DEPENDENCIES pg (~> 1.4.6) puma (~> 7.0) puma-daemon - rails (~> 7.2.2) + rails (~> 8.0.5) spring spring-watcher-listen (~> 2.0) diff --git a/bin/dev b/bin/dev new file mode 100755 index 0000000..52088a3 --- /dev/null +++ b/bin/dev @@ -0,0 +1,2 @@ +#!/usr/bin/env ruby +exec './bin/rails', 'server', *ARGV diff --git a/bin/setup b/bin/setup index 394292f..f326300 100755 --- a/bin/setup +++ b/bin/setup @@ -4,8 +4,8 @@ require 'fileutils' APP_ROOT = File.expand_path('..', __dir__) APP_NAME = 'pseudonymisation_service' -def system!(*args) - system(*args, exception: true) +def system!(*) + system(*, exception: true) end FileUtils.chdir APP_ROOT do @@ -14,7 +14,6 @@ FileUtils.chdir APP_ROOT do # Add necessary setup steps to this file. puts '== Installing dependencies ==' - system! 'gem install bundler --conservative' system('bundle check') || system!('bundle install') # puts "\n== Copying sample files ==" @@ -28,10 +27,9 @@ FileUtils.chdir APP_ROOT do puts "\n== Removing old logs and tempfiles ==" system! 'bin/rails log:clear tmp:clear' - puts "\n== Restarting application server ==" - system! 'bin/rails restart' - - # puts "\n== Configuring puma-dev ==" - # system "ln -nfs #{APP_ROOT} ~/.puma-dev/#{APP_NAME}" - # system "curl -Is https://#{APP_NAME}.test/up | head -n 1" + unless ARGV.include?('--skip-server') + puts "\n== Starting development server ==" + STDOUT.flush # flush the output before exec(2) so that it displays + exec 'bin/dev' + end end diff --git a/config/environments/development.rb b/config/environments/development.rb index 4e6a575..79da2b1 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -3,9 +3,7 @@ Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. - # In the development environment your application's code is reloaded any time - # it changes. This slows down response time but is perfect for development - # since you don't have to restart the web server when you make code changes. + # Make code changes take effect immediately without server restart. config.enable_reloading = true # Do not eager load code on boot. @@ -17,27 +15,27 @@ # Enable server timing. # config.server_timing = true - # Enable/disable caching. By default caching is disabled. - # Run rails dev:cache to toggle caching. + # Enable/disable Action Controller caching. By default Action Controller caching is disabled. + # Run rails dev:cache to toggle Action Controller caching. if Rails.root.join('tmp/caching-dev.txt').exist? - config.cache_store = :memory_store - config.public_file_server.headers = { 'Cache-Control' => "public, max-age=#{2.days.to_i}" } + config.public_file_server.headers = { 'cache-control' => "public, max-age=#{2.days.to_i}" } else config.action_controller.perform_caching = false - - config.cache_store = :null_store end + # Change to :null_store to avoid any caching. + config.cache_store = :memory_store + # Store uploaded files on the local file system (see config/storage.yml for options). config.active_storage.service = :local # Don't care if the mailer can't send. config.action_mailer.raise_delivery_errors = false - # Disable caching for Action Mailer templates even if Action Controller - # caching is enabled. + # Make template changes take effect immediately. config.action_mailer.perform_caching = false + # Set localhost to be used by links generated in mailer templates. # config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } # Print deprecation notices to the Rails logger. @@ -55,6 +53,9 @@ # Highlight code that triggered database queries in logs. config.active_record.verbose_query_logs = true + # Append comments with runtime information tags to SQL queries in logs. + config.active_record.query_log_tags_enabled = true + # Highlight code that enqueued background job in logs. config.active_job.verbose_enqueue_logs = true @@ -72,8 +73,4 @@ # Apply autocorrection by RuboCop to files generated by `bin/rails generate`. # config.generators.apply_rubocop_autocorrect_after_generate! - - # Use an evented file watcher to asynchronously detect changes in source code, - # routes, locales, etc. This feature depends on the listen gem. - config.file_watcher = ActiveSupport::EventedFileUpdateChecker end diff --git a/config/environments/production.rb b/config/environments/production.rb index aaa26a9..e4915af 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -5,44 +5,27 @@ # Accept style conventions used in the Rails-generated template files # - otherwise we have to keep re-linting the files every time we upgrade Rails - # rubocop:disable Style/GlobalStdStream, Layout/DotPosition, Layout/MultilineMethodCallIndentation, Style/RedundantConstantBase + # rubocop:disable Style/GlobalStdStream # Code is not reloaded between requests. config.enable_reloading = false - # Eager load code on boot. This eager loads most of Rails and - # your application in memory, allowing both threaded web servers - # and those relying on copy on write to perform better. - # Rake tasks automatically ignore this option for performance. + # Eager load code on boot for better performance and memory savings (ignored by Rake tasks). config.eager_load = true - # Full error reports are disabled and caching is turned on. + # Full error reports are disabled. config.consider_all_requests_local = false - # Ensures that a master key has been made available in ENV["RAILS_MASTER_KEY"], config/master.key, or an environment - # key such as config/credentials/production.key. This key is used to decrypt credentials (and other encrypted files). - # config.require_master_key = true - - # Disable serving static files from `public/`, relying on NGINX/Apache to do so instead. - # config.public_file_server.enabled = false + # Cache assets for far-future expiry since they are all digest stamped. + config.public_file_server.headers = { 'cache-control' => "public, max-age=#{1.year.to_i}" } # Enable serving of images, stylesheets, and JavaScripts from an asset server. # config.asset_host = 'http://assets.example.com' - # Specifies the header that your server uses for sending files. - # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache - # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX - # Store uploaded files on the local file system (see config/storage.yml for options). config.active_storage.service = :local - # Mount Action Cable outside main process or domain. - # config.action_cable.mount_path = nil - # config.action_cable.url = 'wss://example.com/cable' - # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] - # Assume all access to the app is happening through a SSL-terminating reverse proxy. - # Can be used together with config.force_ssl for Strict-Transport-Security and secure cookies. # config.assume_ssl = true # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. @@ -67,16 +50,19 @@ # Prepend all log lines with the following tags. config.log_tags = [:request_id] - # Don't log SQL in production: - # "info" includes generic and useful information about system operation, but avoids logging too much - # information to avoid inadvertent exposure of personally identifiable information (PII). If you - # want to log everything, set the level to "debug". + # Change to "debug" to log everything (including potentially personally-identifiable information!) config.log_level = ENV.fetch('RAILS_LOG_LEVEL', 'info') - # Use a different cache store in production. + # Prevent health checks from clogging up the logs. + # config.silence_healthcheck_path = '/up' + + # Don't log any deprecations. + config.active_support.report_deprecations = false + + # Replace the default in-process memory cache store with a durable alternative. # config.cache_store = :mem_cache_store - # Use a real queuing backend for Active Job (and separate queues per environment). + # Replace the default in-process and non-durable queuing backend for Active Job. # config.active_job.queue_adapter = :resque # config.active_job.queue_name_prefix = "pseudonymisation_service_production" @@ -88,16 +74,22 @@ # Set this to true and configure the email server for immediate delivery to raise delivery errors. # config.action_mailer.raise_delivery_errors = false + # Set host to be used by links generated in mailer templates. + # config.action_mailer.default_url_options = { host: 'example.com' } + + # Specify outgoing SMTP server. Remember to add smtp/* credentials via rails credentials:edit. + # config.action_mailer.smtp_settings = { + # user_name: Rails.application.credentials.dig(:smtp, :user_name), + # password: Rails.application.credentials.dig(:smtp, :password), + # address: "smtp.example.com", + # port: 587, + # authentication: :plain + # } + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to # the I18n.default_locale when a translation cannot be found). config.i18n.fallbacks = true - # Send deprecation notices to registered listeners. - config.active_support.deprecation = :notify - - # Don't log any deprecations. - config.active_support.report_deprecations = false - # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false @@ -109,7 +101,8 @@ # "example.com", # Allow requests from example.com # /.*\.example\.com/ # Allow requests from subdomains like `www.example.com` # ] + # # Skip DNS rebinding protection for the default health check endpoint. # config.host_authorization = { exclude: ->(request) { request.path == "/up" } } - # rubocop:enable Style/GlobalStdStream, Layout/DotPosition, Layout/MultilineMethodCallIndentation, Style/RedundantConstantBase + # rubocop:enable Style/GlobalStdStream end diff --git a/config/environments/test.rb b/config/environments/test.rb index c46d051..d62b585 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -1,5 +1,3 @@ -require 'active_support/core_ext/integer/time' - # The test environment is used exclusively to run your application's # 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 @@ -17,13 +15,12 @@ # loading is working properly before deploying your code. config.eager_load = ENV['CI'].present? - # Configure public file server for tests with Cache-Control for performance. - config.public_file_server.headers = { 'Cache-Control' => "public, max-age=#{1.hour.to_i}" } + # Configure public file server for tests with cache-control for performance. + config.public_file_server.headers = { 'cache-control' => 'public, max-age=3600' } # Show as-if-live error reports and disable caching. config.consider_all_requests_local = false config.action_controller.perform_caching = false - config.cache_store = :null_store # Raise exceptions instead of rendering exception templates. config.action_dispatch.show_exceptions = :all @@ -34,18 +31,13 @@ # Store uploaded files on the local file system in a temporary directory. config.active_storage.service = :test - # Disable caching for Action Mailer templates even if Action Controller - # caching is enabled. - config.action_mailer.perform_caching = false - # Tell Action Mailer not to deliver emails to the real world. # The :test delivery method accumulates sent emails in the # ActionMailer::Base.deliveries array. config.action_mailer.delivery_method = :test - # Unlike controllers, the mailer instance doesn't have any context about the - # incoming request so you'll need to provide the :host parameter yourself. - config.action_mailer.default_url_options = { host: 'www.example.com' } + # Set host to be used by links generated in mailer templates. + config.action_mailer.default_url_options = { host: 'example.com' } # Print deprecation notices to the stderr. config.active_support.deprecation = :stderr diff --git a/config/initializers/new_framework_defaults_8_0.rb b/config/initializers/new_framework_defaults_8_0.rb new file mode 100644 index 0000000..04ab90f --- /dev/null +++ b/config/initializers/new_framework_defaults_8_0.rb @@ -0,0 +1,30 @@ +# Be sure to restart your server when you modify this file. +# +# This file eases your Rails 8.0 framework defaults upgrade. +# +# Uncomment each configuration one by one to switch to the new default. +# Once your application is ready to run with all new defaults, you can remove +# this file and set the `config.load_defaults` to `8.0`. +# +# Read the Guide for Upgrading Ruby on Rails for more info on each option. +# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html + +### +# Specifies whether `to_time` methods preserve the UTC offset of their receivers or preserves the timezone. +# If set to `:zone`, `to_time` methods will use the timezone of their receivers. +# If set to `:offset`, `to_time` methods will use the UTC offset. +# If `false`, `to_time` methods will convert to the local system UTC offset instead. +#++ +Rails.application.config.active_support.to_time_preserves_timezone = :zone + +### +# When both `If-Modified-Since` and `If-None-Match` are provided by the client +# only consider `If-None-Match` as specified by RFC 7232 Section 6. +# If set to `false` both conditions need to be satisfied. +#++ +Rails.application.config.action_dispatch.strict_freshness = true + +### +# Set `Regexp.timeout` to `1`s by default to improve security over Regexp Denial-of-Service attacks. +#++ +Regexp.timeout = 1 diff --git a/config/puma.rb b/config/puma.rb index 48d940a..6a702e3 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -3,13 +3,13 @@ # This configuration file will be evaluated by Puma. The top-level methods that # are invoked here are part of Puma's configuration DSL. For more information # about methods provided by the DSL, see https://puma.io/puma/Puma/DSL.html. - +# # Puma starts a configurable number of processes (workers) and each process # serves each request in a thread from an internal thread pool. # # The ideal number of threads per worker depends both on how much time the # application spends waiting for IO operations and on how much you wish to -# to prioritize throughput over latency. +# prioritize throughput over latency. # # As a rule of thumb, increasing the number of threads will increase how much # traffic a given process can handle (throughput), but due to CRuby's diff --git a/vendor/cache/actioncable-7.2.3.2.gem b/vendor/cache/actioncable-7.2.3.2.gem deleted file mode 100644 index 8dbe549..0000000 Binary files a/vendor/cache/actioncable-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/actioncable-8.0.5.1.gem b/vendor/cache/actioncable-8.0.5.1.gem new file mode 100644 index 0000000..bc85109 Binary files /dev/null and b/vendor/cache/actioncable-8.0.5.1.gem differ diff --git a/vendor/cache/actionmailbox-7.2.3.2.gem b/vendor/cache/actionmailbox-7.2.3.2.gem deleted file mode 100644 index d84e074..0000000 Binary files a/vendor/cache/actionmailbox-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/actionmailbox-8.0.5.1.gem b/vendor/cache/actionmailbox-8.0.5.1.gem new file mode 100644 index 0000000..e7c9986 Binary files /dev/null and b/vendor/cache/actionmailbox-8.0.5.1.gem differ diff --git a/vendor/cache/actionmailer-7.2.3.2.gem b/vendor/cache/actionmailer-7.2.3.2.gem deleted file mode 100644 index a2d1723..0000000 Binary files a/vendor/cache/actionmailer-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/actionmailer-8.0.5.1.gem b/vendor/cache/actionmailer-8.0.5.1.gem new file mode 100644 index 0000000..bd85aac Binary files /dev/null and b/vendor/cache/actionmailer-8.0.5.1.gem differ diff --git a/vendor/cache/actionpack-7.2.3.2.gem b/vendor/cache/actionpack-7.2.3.2.gem deleted file mode 100644 index fe9a4bc..0000000 Binary files a/vendor/cache/actionpack-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/actionpack-8.0.5.1.gem b/vendor/cache/actionpack-8.0.5.1.gem new file mode 100644 index 0000000..211a52a Binary files /dev/null and b/vendor/cache/actionpack-8.0.5.1.gem differ diff --git a/vendor/cache/actiontext-7.2.3.2.gem b/vendor/cache/actiontext-7.2.3.2.gem deleted file mode 100644 index 98b5054..0000000 Binary files a/vendor/cache/actiontext-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/actiontext-8.0.5.1.gem b/vendor/cache/actiontext-8.0.5.1.gem new file mode 100644 index 0000000..cbef49a Binary files /dev/null and b/vendor/cache/actiontext-8.0.5.1.gem differ diff --git a/vendor/cache/actionview-7.2.3.2.gem b/vendor/cache/actionview-7.2.3.2.gem deleted file mode 100644 index b8c405c..0000000 Binary files a/vendor/cache/actionview-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/actionview-8.0.5.1.gem b/vendor/cache/actionview-8.0.5.1.gem new file mode 100644 index 0000000..2feb94e Binary files /dev/null and b/vendor/cache/actionview-8.0.5.1.gem differ diff --git a/vendor/cache/activejob-7.2.3.2.gem b/vendor/cache/activejob-7.2.3.2.gem deleted file mode 100644 index 4c194e5..0000000 Binary files a/vendor/cache/activejob-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/activejob-8.0.5.1.gem b/vendor/cache/activejob-8.0.5.1.gem new file mode 100644 index 0000000..171d4fc Binary files /dev/null and b/vendor/cache/activejob-8.0.5.1.gem differ diff --git a/vendor/cache/activemodel-7.2.3.2.gem b/vendor/cache/activemodel-7.2.3.2.gem deleted file mode 100644 index 74e7921..0000000 Binary files a/vendor/cache/activemodel-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/activemodel-8.0.5.1.gem b/vendor/cache/activemodel-8.0.5.1.gem new file mode 100644 index 0000000..8c0716f Binary files /dev/null and b/vendor/cache/activemodel-8.0.5.1.gem differ diff --git a/vendor/cache/activerecord-7.2.3.2.gem b/vendor/cache/activerecord-7.2.3.2.gem deleted file mode 100644 index 8bc590e..0000000 Binary files a/vendor/cache/activerecord-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/activerecord-8.0.5.1.gem b/vendor/cache/activerecord-8.0.5.1.gem new file mode 100644 index 0000000..95a3554 Binary files /dev/null and b/vendor/cache/activerecord-8.0.5.1.gem differ diff --git a/vendor/cache/activestorage-7.2.3.2.gem b/vendor/cache/activestorage-7.2.3.2.gem deleted file mode 100644 index 55aa9e7..0000000 Binary files a/vendor/cache/activestorage-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/activestorage-8.0.5.1.gem b/vendor/cache/activestorage-8.0.5.1.gem new file mode 100644 index 0000000..7f1203b Binary files /dev/null and b/vendor/cache/activestorage-8.0.5.1.gem differ diff --git a/vendor/cache/activesupport-7.2.3.2.gem b/vendor/cache/activesupport-7.2.3.2.gem deleted file mode 100644 index 1d67fcb..0000000 Binary files a/vendor/cache/activesupport-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/activesupport-8.0.5.1.gem b/vendor/cache/activesupport-8.0.5.1.gem new file mode 100644 index 0000000..9cefc59 Binary files /dev/null and b/vendor/cache/activesupport-8.0.5.1.gem differ diff --git a/vendor/cache/rails-7.2.3.2.gem b/vendor/cache/rails-8.0.5.1.gem similarity index 68% rename from vendor/cache/rails-7.2.3.2.gem rename to vendor/cache/rails-8.0.5.1.gem index 4cb9d33..937fc05 100644 Binary files a/vendor/cache/rails-7.2.3.2.gem and b/vendor/cache/rails-8.0.5.1.gem differ diff --git a/vendor/cache/railties-7.2.3.2.gem b/vendor/cache/railties-7.2.3.2.gem deleted file mode 100644 index 6cd0a4a..0000000 Binary files a/vendor/cache/railties-7.2.3.2.gem and /dev/null differ diff --git a/vendor/cache/railties-8.0.5.1.gem b/vendor/cache/railties-8.0.5.1.gem new file mode 100644 index 0000000..018a07d Binary files /dev/null and b/vendor/cache/railties-8.0.5.1.gem differ diff --git a/vendor/cache/uri-1.1.1.gem b/vendor/cache/uri-1.1.1.gem new file mode 100644 index 0000000..d1bea0c Binary files /dev/null and b/vendor/cache/uri-1.1.1.gem differ