diff --git a/.ruby-version b/.ruby-version index 849c0c47f..9e79f6c4a 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -ruby-2.7.5 +ruby-3.2.2 diff --git a/Dockerfile b/Dockerfile index 0571ed2f0..02fc35cb9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2.7.2 +FROM ruby:3.2.2 RUN curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs postgresql-client yarn diff --git a/Gemfile b/Gemfile index 761affffe..17e256e26 100644 --- a/Gemfile +++ b/Gemfile @@ -14,7 +14,7 @@ gem 'sass-rails', '6.0.0' gem 'webpacker', '5.4.0' gem 'turbolinks', '5.2.1' gem 'jbuilder', '2.10.0' -gem 'bootsnap', '1.7.2', require: false +gem 'bootsnap', '1.16.0', require: false gem 'factory_bot', '6.1.0' gem 'factory_bot_rails', '6.1.0' group :development, :test do @@ -41,7 +41,7 @@ group :test do gem 'guard-minitest', '2.4.6' end group :production do - gem 'pg', '1.2.3' + gem 'pg', '~>1.4' gem 'aws-sdk-s3', '1.87.0', require: false end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem diff --git a/Gemfile.lock b/Gemfile.lock index 7adf0af94..89f147131 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -62,30 +62,30 @@ GEM minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - autoprefixer-rails (10.4.7.0) + addressable (2.8.4) + public_suffix (>= 2.0.2, < 6.0) + autoprefixer-rails (10.4.13.0) execjs (~> 2) aws-eventstream (1.2.0) - aws-partitions (1.611.0) - aws-sdk-core (3.131.4) + aws-partitions (1.749.0) + aws-sdk-core (3.171.0) aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.525.0) - aws-sigv4 (~> 1.1) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.5) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.58.0) - aws-sdk-core (~> 3, >= 3.127.0) + aws-sdk-kms (1.63.0) + aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) aws-sdk-s3 (1.87.0) aws-sdk-core (~> 3, >= 3.109.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) - aws-sigv4 (1.5.1) + aws-sigv4 (1.5.2) aws-eventstream (~> 1, >= 1.0.2) bcrypt (3.1.13) bindex (0.8.1) - bootsnap (1.7.2) - msgpack (~> 1.0) + bootsnap (1.16.0) + msgpack (~> 1.2) bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) sassc (>= 2.0.0) @@ -103,11 +103,12 @@ GEM xpath (~> 3.2) childprocess (3.0.0) coderay (1.1.3) - concurrent-ruby (1.1.10) + concurrent-ruby (1.2.2) crass (1.0.6) + date (3.3.3) diff-lcs (1.5.0) docile (1.4.0) - erubi (1.10.0) + erubi (1.12.0) execjs (2.8.1) factory_bot (6.1.0) activesupport (>= 5.0.0) @@ -118,7 +119,7 @@ GEM i18n (>= 1.6, < 2) ffi (1.15.5) formatador (1.1.0) - globalid (1.0.0) + globalid (1.1.0) activesupport (>= 5.0) guard (2.16.2) formatador (>= 0.2.4) @@ -140,43 +141,57 @@ GEM ruby-vips (>= 2.0.13, < 3) jbuilder (2.10.0) activesupport (>= 5.0.0) - jmespath (1.6.1) + jmespath (1.6.2) listen (3.4.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - loofah (2.18.0) + loofah (2.20.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) lumberjack (1.2.8) - mail (2.7.1) + mail (2.8.1) mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp marcel (1.0.2) method_source (1.0.0) mini_magick (4.9.5) mini_mime (1.1.2) minitest (5.11.3) - msgpack (1.5.4) + msgpack (1.7.0) nenv (0.3.0) - nio4r (2.5.8) - nokogiri (1.13.8-x86_64-darwin) + 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 + nio4r (2.5.9) + nokogiri (1.14.3-aarch64-linux) + racc (~> 1.4) + nokogiri (1.14.3-x86_64-darwin) racc (~> 1.4) notiffany (0.1.3) nenv (~> 0.1) shellany (~> 0.0) - pg (1.2.3) - pry (0.14.1) + pg (1.4.6) + pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) - public_suffix (4.0.7) + public_suffix (5.0.1) puma (5.3.1) nio4r (~> 2.0) - racc (1.6.0) - rack (2.2.4) + racc (1.6.2) + rack (2.2.6.4) rack-mini-profiler (2.3.1) rack (>= 1.2.0) - rack-proxy (0.7.2) + rack-proxy (0.7.6) rack - rack-test (2.0.2) + rack-test (2.1.0) rack (>= 1.3) rails (6.1.4.6) actioncable (= 6.1.4.6) @@ -200,8 +215,8 @@ GEM rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) + rails-html-sanitizer (1.5.0) + loofah (~> 2.19, >= 2.19.1) railties (6.1.4.6) actionpack (= 6.1.4.6) activesupport (= 6.1.4.6) @@ -209,18 +224,18 @@ GEM rake (>= 0.13) thor (~> 1.0) rake (13.0.6) - rb-fsevent (0.11.1) + rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - regexp_parser (2.5.0) - rspec-core (3.11.0) - rspec-support (~> 3.11.0) - rspec-expectations (3.11.0) + regexp_parser (2.8.0) + rspec-core (3.12.2) + 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.5) 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) @@ -229,7 +244,7 @@ GEM rspec-expectations (~> 3.10) rspec-mocks (~> 3.10) rspec-support (~> 3.10) - rspec-support (3.11.0) + rspec-support (3.12.0) ruby-vips (2.1.4) ffi (~> 1.12) rubyzip (2.3.2) @@ -255,20 +270,21 @@ GEM simplecov-html (0.12.3) simplecov_json_formatter (0.1.4) spring (2.1.1) - sprockets (4.1.1) + sprockets (4.2.0) concurrent-ruby (~> 1.0) - rack (> 1, < 3) + rack (>= 2.2.4, < 4) sprockets-rails (3.4.2) actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) sqlite3 (1.4.2) thor (1.2.1) - tilt (2.0.11) + tilt (2.1.0) + timeout (0.3.2) turbolinks (5.2.1) turbolinks-source (~> 5.2) turbolinks-source (5.2.0) - tzinfo (2.0.5) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) web-console (4.1.0) actionview (>= 6.0.0) @@ -290,16 +306,17 @@ GEM will_paginate (3.3.0) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.0) + zeitwerk (2.6.7) PLATFORMS + aarch64-linux x86_64-darwin-21 DEPENDENCIES active_storage_validations (= 0.8.9) aws-sdk-s3 (= 1.87.0) bcrypt (= 3.1.13) - bootsnap (= 1.7.2) + bootsnap (= 1.16.0) bootstrap-sass (= 3.4.1) bootstrap-will_paginate (= 1.0.0) byebug (= 11.1.3) @@ -314,7 +331,7 @@ DEPENDENCIES listen (= 3.4.1) mini_magick (= 4.9.5) minitest (= 5.11.3) - pg (= 1.2.3) + pg (~> 1.4) puma (= 5.3.1) rack-mini-profiler (= 2.3.1) rails (= 6.1.4.6) @@ -333,4 +350,4 @@ DEPENDENCIES will_paginate (= 3.3.0) BUNDLED WITH - 2.2.15 + 2.4.10 diff --git a/db/schema.rb b/db/schema.rb index 71eac3e5b..887d21308 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -2,8 +2,8 @@ # of editing this file, please use the migrations feature of Active Record to # incrementally modify your database, and then regenerate this schema definition. # -# This file is the source Rails uses to define your schema when running `rails -# db:schema:load`. When creating a new database, `rails db:schema:load` tends to +# This file is the source Rails uses to define your schema when running `bin/rails +# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to # be faster and is potentially less error prone than running all of your # migrations from scratch. Old migrations may fail to apply correctly if those # migrations use external dependencies or application code. @@ -12,11 +12,14 @@ ActiveRecord::Schema.define(version: 2019_08_27_030205) do + # These are extensions that must be enabled in order to support this database + enable_extension "plpgsql" + create_table "active_storage_attachments", force: :cascade do |t| t.string "name", null: false t.string "record_type", null: false - t.integer "record_id", null: false - t.integer "blob_id", null: false + t.bigint "record_id", null: false + t.bigint "blob_id", null: false t.datetime "created_at", null: false t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id" t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true @@ -35,7 +38,7 @@ create_table "microposts", force: :cascade do |t| t.text "content" - t.integer "user_id", null: false + t.bigint "user_id", null: false t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["user_id", "created_at"], name: "index_microposts_on_user_id_and_created_at"