From a5d3062654bf69098c55e46121ed622d956c19cd Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Mon, 27 Jan 2025 20:08:28 +0100 Subject: [PATCH 01/88] Define and seed an invitation model --- app/models/expense.rb | 2 +- app/models/group.rb | 2 +- app/models/guest.rb | 26 +++++++++++-------- app/models/invitation.rb | 23 ++++++++++++++++ app/models/seat.rb | 2 +- app/models/tables_arrangement.rb | 2 +- app/models/user.rb | 2 +- config/initializers/acts_as_tenant.rb | 6 ++++- .../20250127183547_create_invitations.rb | 10 +++++++ ...27190131_fix_cascading_wedding_deletion.rb | 8 ++++++ db/schema.rb | 25 +++++++++++++----- db/seeds.rb | 8 ++---- spec/factories/invitations.rb | 7 +++++ spec/models/invitation_spec.rb | 7 +++++ 14 files changed, 100 insertions(+), 30 deletions(-) create mode 100644 app/models/invitation.rb create mode 100644 db/migrate/20250127183547_create_invitations.rb create mode 100644 db/migrate/20250127190131_fix_cascading_wedding_deletion.rb create mode 100644 spec/factories/invitations.rb create mode 100644 spec/models/invitation_spec.rb diff --git a/app/models/expense.rb b/app/models/expense.rb index 66b32f3..a04a5c1 100644 --- a/app/models/expense.rb +++ b/app/models/expense.rb @@ -20,7 +20,7 @@ # # Foreign Keys # -# fk_rails_... (wedding_id => weddings.id) +# fk_rails_... (wedding_id => weddings.id) ON DELETE => cascade # class Expense < ApplicationRecord acts_as_tenant :wedding diff --git a/app/models/group.rb b/app/models/group.rb index 2db28ed..e0db499 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -25,7 +25,7 @@ # Foreign Keys # # fk_rails_... (parent_id => groups.id) -# fk_rails_... (wedding_id => weddings.id) +# fk_rails_... (wedding_id => weddings.id) ON DELETE => cascade # class Group < ApplicationRecord acts_as_tenant :wedding diff --git a/app/models/guest.rb b/app/models/guest.rb index d080679..54142ee 100644 --- a/app/models/guest.rb +++ b/app/models/guest.rb @@ -6,28 +6,32 @@ # # Table name: guests # -# id :uuid not null, primary key -# name :string -# phone :string -# status :integer default("considered") -# created_at :datetime not null -# updated_at :datetime not null -# group_id :uuid -# wedding_id :uuid not null +# id :uuid not null, primary key +# name :string +# phone :string +# status :integer default("considered") +# created_at :datetime not null +# updated_at :datetime not null +# group_id :uuid +# invitation_id :uuid +# wedding_id :uuid not null # # Indexes # -# index_guests_on_group_id (group_id) -# index_guests_on_wedding_id (wedding_id) +# index_guests_on_group_id (group_id) +# index_guests_on_invitation_id (invitation_id) +# index_guests_on_wedding_id (wedding_id) # # Foreign Keys # # fk_rails_... (group_id => groups.id) -# fk_rails_... (wedding_id => weddings.id) +# fk_rails_... (invitation_id => invitations.id) +# fk_rails_... (wedding_id => weddings.id) ON DELETE => cascade # class Guest < ApplicationRecord acts_as_tenant :wedding belongs_to :group, optional: true + belongs_to :invitation, optional: true enum :status, { considered: 0, diff --git a/app/models/invitation.rb b/app/models/invitation.rb new file mode 100644 index 0000000..8fb8c1a --- /dev/null +++ b/app/models/invitation.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +# == Schema Information +# +# Table name: invitations +# +# id :uuid not null, primary key +# created_at :datetime not null +# updated_at :datetime not null +# wedding_id :uuid not null +# +# Indexes +# +# index_invitations_on_wedding_id (wedding_id) +# +# Foreign Keys +# +# fk_rails_... (wedding_id => weddings.id) ON DELETE => cascade +# +class Invitation < ApplicationRecord + acts_as_tenant :wedding + has_many :guests, dependent: :nullify +end diff --git a/app/models/seat.rb b/app/models/seat.rb index 9c31c42..f4f7b97 100644 --- a/app/models/seat.rb +++ b/app/models/seat.rb @@ -24,7 +24,7 @@ # # fk_rails_... (guest_id => guests.id) # fk_rails_... (tables_arrangement_id => tables_arrangements.id) ON DELETE => cascade -# fk_rails_... (wedding_id => weddings.id) +# fk_rails_... (wedding_id => weddings.id) ON DELETE => cascade # class Seat < ApplicationRecord acts_as_tenant :wedding diff --git a/app/models/tables_arrangement.rb b/app/models/tables_arrangement.rb index a461555..b5fccb0 100644 --- a/app/models/tables_arrangement.rb +++ b/app/models/tables_arrangement.rb @@ -20,7 +20,7 @@ # # Foreign Keys # -# fk_rails_... (wedding_id => weddings.id) +# fk_rails_... (wedding_id => weddings.id) ON DELETE => cascade # class TablesArrangement < ApplicationRecord acts_as_tenant :wedding diff --git a/app/models/user.rb b/app/models/user.rb index ff46fff..6c7d79c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -32,7 +32,7 @@ # # Foreign Keys # -# fk_rails_... (wedding_id => weddings.id) +# fk_rails_... (wedding_id => weddings.id) ON DELETE => cascade # class User < ApplicationRecord acts_as_tenant :wedding diff --git a/config/initializers/acts_as_tenant.rb b/config/initializers/acts_as_tenant.rb index fd8890d..25855eb 100644 --- a/config/initializers/acts_as_tenant.rb +++ b/config/initializers/acts_as_tenant.rb @@ -2,4 +2,8 @@ ActsAsTenant.configure do |config| config.require_tenant = !Rails.env.test? -end \ No newline at end of file +end + +Rails.application.console do + ActsAsTenant.current_tenant = Wedding.first +end diff --git a/db/migrate/20250127183547_create_invitations.rb b/db/migrate/20250127183547_create_invitations.rb new file mode 100644 index 0000000..ed2e8a3 --- /dev/null +++ b/db/migrate/20250127183547_create_invitations.rb @@ -0,0 +1,10 @@ +class CreateInvitations < ActiveRecord::Migration[8.0] + def change + create_table :invitations, id: :uuid do |t| + t.references :wedding, null: false, foreign_key: { on_delete: :cascade }, type: :uuid + t.timestamps + end + + add_reference :guests, :invitation, foreign_key: true, type: :uuid + end +end diff --git a/db/migrate/20250127190131_fix_cascading_wedding_deletion.rb b/db/migrate/20250127190131_fix_cascading_wedding_deletion.rb new file mode 100644 index 0000000..366df85 --- /dev/null +++ b/db/migrate/20250127190131_fix_cascading_wedding_deletion.rb @@ -0,0 +1,8 @@ +class FixCascadingWeddingDeletion < ActiveRecord::Migration[8.0] + def change + [:expenses, :groups, :guests, :seats, :tables_arrangements, :users].each do |table| + remove_foreign_key table, column: :wedding_id + add_foreign_key table, :weddings, on_delete: :cascade + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 5b61f3f..5a7e2fd 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.0].define(version: 2025_01_26_091823) do +ActiveRecord::Schema[8.0].define(version: 2025_01_27_190131) do # These are extensions that must be enabled in order to support this database enable_extension "pg_catalog.plpgsql" @@ -63,10 +63,19 @@ ActiveRecord::Schema[8.0].define(version: 2025_01_26_091823) do t.integer "status", default: 0 t.string "name" t.uuid "wedding_id", null: false + t.uuid "invitation_id" t.index ["group_id"], name: "index_guests_on_group_id" + t.index ["invitation_id"], name: "index_guests_on_invitation_id" t.index ["wedding_id"], name: "index_guests_on_wedding_id" end + create_table "invitations", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.uuid "wedding_id", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["wedding_id"], name: "index_invitations_on_wedding_id" + end + create_table "seats", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "guest_id", null: false t.uuid "tables_arrangement_id", null: false @@ -239,22 +248,24 @@ ActiveRecord::Schema[8.0].define(version: 2025_01_26_091823) do t.index ["slug"], name: "index_weddings_on_slug", unique: true end - add_foreign_key "expenses", "weddings" + add_foreign_key "expenses", "weddings", on_delete: :cascade add_foreign_key "group_affinities", "groups", column: "group_a_id" add_foreign_key "group_affinities", "groups", column: "group_b_id" add_foreign_key "groups", "groups", column: "parent_id" - add_foreign_key "groups", "weddings" + add_foreign_key "groups", "weddings", on_delete: :cascade add_foreign_key "guests", "groups" - add_foreign_key "guests", "weddings" + add_foreign_key "guests", "invitations" + add_foreign_key "guests", "weddings", on_delete: :cascade + add_foreign_key "invitations", "weddings", on_delete: :cascade add_foreign_key "seats", "guests" add_foreign_key "seats", "tables_arrangements", on_delete: :cascade - add_foreign_key "seats", "weddings" + add_foreign_key "seats", "weddings", on_delete: :cascade add_foreign_key "solid_queue_blocked_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade add_foreign_key "solid_queue_claimed_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade add_foreign_key "solid_queue_failed_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade add_foreign_key "solid_queue_ready_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade add_foreign_key "solid_queue_recurring_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade add_foreign_key "solid_queue_scheduled_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade - add_foreign_key "tables_arrangements", "weddings" - add_foreign_key "users", "weddings" + add_foreign_key "tables_arrangements", "weddings", on_delete: :cascade + add_foreign_key "users", "weddings", on_delete: :cascade end diff --git a/db/seeds.rb b/db/seeds.rb index fcf5ec3..e7169ab 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -3,11 +3,6 @@ NUMBER_OF_GUESTS = 50 ActsAsTenant.without_tenant do - TablesArrangement.delete_all - Expense.delete_all - Guest.delete_all - Group.delete_all - Wedding.delete_all end @@ -66,7 +61,8 @@ ActsAsTenant.with_tenant(wedding) do name: Faker::Name.name, phone: Faker::PhoneNumber.cell_phone, group: groups.sample, - status: Guest.statuses.keys.sample + status: Guest.statuses.keys.sample, + invitation: (Invitation.create!(wedding:) if rand > 0.1), ) end diff --git a/spec/factories/invitations.rb b/spec/factories/invitations.rb new file mode 100644 index 0000000..b4ba145 --- /dev/null +++ b/spec/factories/invitations.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +FactoryBot.define do + factory :invitation do + wedding + end +end diff --git a/spec/models/invitation_spec.rb b/spec/models/invitation_spec.rb new file mode 100644 index 0000000..24c963e --- /dev/null +++ b/spec/models/invitation_spec.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe Invitation do + pending "add some examples to (or delete) #{__FILE__}" +end From b112aefe215a6b60d1d24083202c2206f1c2b5f1 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Mon, 27 Jan 2025 20:22:21 +0100 Subject: [PATCH 02/88] Optimize seeds file --- db/seeds.rb | 50 ++++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/db/seeds.rb b/db/seeds.rb index e7169ab..a900a1e 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (C) 2024-2025 LibreWeddingPlanner contributors NUMBER_OF_GUESTS = 50 @@ -9,20 +11,22 @@ end wedding = Wedding.create!(slug: :default) ActsAsTenant.with_tenant(wedding) do - Expense.create!(name: 'Photographer', amount: 3000, pricing_type: 'fixed') - Expense.create!(name: 'Country house', amount: 6000, pricing_type: 'fixed') - Expense.create!(name: 'Catering', amount: 200, pricing_type: 'per_person') - Expense.create!(name: 'Flowers', amount: 500, pricing_type: 'fixed') - Expense.create!(name: 'Band', amount: 1000, pricing_type: 'fixed') - Expense.create!(name: 'Wedding planner', amount: 2000, pricing_type: 'fixed') - Expense.create!(name: 'Dress', amount: 1000, pricing_type: 'fixed') - Expense.create!(name: 'Suit', amount: 500, pricing_type: 'fixed') - Expense.create!(name: 'Rings', amount: 1000, pricing_type: 'fixed') - Expense.create!(name: 'Makeup', amount: 200, pricing_type: 'fixed') - Expense.create!(name: 'Hair', amount: 200, pricing_type: 'fixed') - Expense.create!(name: 'Transportation', amount: 3000, pricing_type: 'fixed') - Expense.create!(name: 'Invitations', amount: 200, pricing_type: 'fixed') - Expense.create!(name: 'Cake', amount: 500, pricing_type: 'fixed') + [ + { name: 'Photographer', amount: 3000, pricing_type: 'fixed' }, + { name: 'Country house', amount: 6000, pricing_type: 'fixed' }, + { name: 'Catering', amount: 200, pricing_type: 'per_person' }, + { name: 'Flowers', amount: 500, pricing_type: 'fixed' }, + { name: 'Band', amount: 1000, pricing_type: 'fixed' }, + { name: 'Wedding planner', amount: 2000, pricing_type: 'fixed' }, + { name: 'Dress', amount: 1000, pricing_type: 'fixed' }, + { name: 'Suit', amount: 500, pricing_type: 'fixed' }, + { name: 'Rings', amount: 1000, pricing_type: 'fixed' }, + { name: 'Makeup', amount: 200, pricing_type: 'fixed' }, + { name: 'Hair', amount: 200, pricing_type: 'fixed' }, + { name: 'Transportation', amount: 3000, pricing_type: 'fixed' }, + { name: 'Invitations', amount: 200, pricing_type: 'fixed' }, + { name: 'Cake', amount: 500, pricing_type: 'fixed' } + ].then { Expense.insert_all!(it) } Group.create!(name: "Jim's guests", icon: 'pi pi-heart').tap do |parent| parent.children.create!(name: "Jim's family", icon: 'pi pi-users').tap do |family| @@ -56,19 +60,21 @@ ActsAsTenant.with_tenant(wedding) do groups = Group.all - NUMBER_OF_GUESTS.times do - Guest.create!( + invitations = ([{}] * (NUMBER_OF_GUESTS * 0.8)).then { Invitation.insert_all!(it) }.rows.flatten + + NUMBER_OF_GUESTS.times.map do |i| + { name: Faker::Name.name, phone: Faker::PhoneNumber.cell_phone, - group: groups.sample, + group_id: groups.sample.id, status: Guest.statuses.keys.sample, - invitation: (Invitation.create!(wedding:) if rand > 0.1), - ) - end + invitation_id: invitations[i] + } + end.then { Guest.insert_all!(it) } ActiveJob.perform_all_later(3.times.map { TableSimulatorJob.new(wedding.id) }) - 'red'.paint.palette.triad(as: :hex).zip(Group.roots).each { |(color, group)| group.update!(color: color.paint.desaturate(40)) } + "red".dup.paint.palette.triad(as: :hex).zip(Group.roots).each { |(color, group)| group.update!(color: color.paint.desaturate(40)) } Group.roots.each(&:colorize_children) @@ -76,6 +82,6 @@ ActsAsTenant.with_tenant(wedding) do email: 'development@example.com', confirmed_at: Time.zone.now, password: 'supersecretpassword', - password_confirmation: 'supersecretpassword', + password_confirmation: 'supersecretpassword' ) end From ecbb6af4bd49824bed74784ebcc689b105b0be49 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Mon, 27 Jan 2025 20:42:31 +0100 Subject: [PATCH 03/88] Increase seeds size --- db/seeds.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/seeds.rb b/db/seeds.rb index a900a1e..79afb17 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -2,7 +2,7 @@ # Copyright (C) 2024-2025 LibreWeddingPlanner contributors -NUMBER_OF_GUESTS = 50 +NUMBER_OF_GUESTS = 200 ActsAsTenant.without_tenant do Wedding.delete_all From 40f89ae179b8852d6f4d9e3df2eb4d4b102c6e07 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Mon, 27 Jan 2025 19:44:30 +0000 Subject: [PATCH 04/88] Add copyright notice --- app/models/invitation.rb | 2 ++ spec/factories/invitations.rb | 2 ++ spec/models/invitation_spec.rb | 2 ++ 3 files changed, 6 insertions(+) diff --git a/app/models/invitation.rb b/app/models/invitation.rb index 8fb8c1a..020242e 100644 --- a/app/models/invitation.rb +++ b/app/models/invitation.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + # frozen_string_literal: true # == Schema Information diff --git a/spec/factories/invitations.rb b/spec/factories/invitations.rb index b4ba145..a1dab61 100644 --- a/spec/factories/invitations.rb +++ b/spec/factories/invitations.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + # frozen_string_literal: true FactoryBot.define do diff --git a/spec/models/invitation_spec.rb b/spec/models/invitation_spec.rb index 24c963e..f4cc2c3 100644 --- a/spec/models/invitation_spec.rb +++ b/spec/models/invitation_spec.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + # frozen_string_literal: true require 'rails_helper' From 522bcb0032816bdcd57d5a12d236d2334670ca49 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Tue, 28 Jan 2025 08:59:15 +0100 Subject: [PATCH 05/88] Generate invitations within the same group --- app/controllers/guests_controller.rb | 2 +- db/seeds.rb | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/controllers/guests_controller.rb b/app/controllers/guests_controller.rb index 1d872fa..78cd2a6 100644 --- a/app/controllers/guests_controller.rb +++ b/app/controllers/guests_controller.rb @@ -9,7 +9,7 @@ class GuestsController < ApplicationController render json: Guest.includes(:group) .left_joins(:group) .order('groups.name' => :asc, name: :asc) - .as_json(only: %i[id name status], include: { group: { only: %i[id name] } }) + .as_json(only: %i[id name status invitation_id], include: { group: { only: %i[id name] } }) end def create diff --git a/db/seeds.rb b/db/seeds.rb index 79afb17..a693f64 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -60,18 +60,29 @@ ActsAsTenant.with_tenant(wedding) do groups = Group.all - invitations = ([{}] * (NUMBER_OF_GUESTS * 0.8)).then { Invitation.insert_all!(it) }.rows.flatten - NUMBER_OF_GUESTS.times.map do |i| { name: Faker::Name.name, phone: Faker::PhoneNumber.cell_phone, group_id: groups.sample.id, status: Guest.statuses.keys.sample, - invitation_id: invitations[i] } end.then { Guest.insert_all!(it) } + Group.includes(:guests).each do |group| + guests = group.guests.potential.to_a + + while guests.any? + invitation = Invitation.create! + + guests.shift(rand(1..3)).each do |guest| + guest.update!(invitation:) + end + end + end + + # TODO: Clean up invitations with no guests + ActiveJob.perform_all_later(3.times.map { TableSimulatorJob.new(wedding.id) }) "red".dup.paint.palette.triad(as: :hex).zip(Group.roots).each { |(color, group)| group.update!(color: color.paint.desaturate(40)) } From 98c64018dbf84bbdf267e079fe29e18ce4df9c2b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 1 Feb 2025 03:05:02 +0000 Subject: [PATCH 06/88] Update dependency rubocop to v1.71.1 --- Gemfile.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7c365c5..4fabe90 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -157,7 +157,7 @@ GEM jsonapi-renderer (0.2.2) jsonapi-serializable (0.3.1) jsonapi-renderer (~> 0.2.0) - language_server-protocol (3.17.0.3) + language_server-protocol (3.17.0.4) launchy (3.0.1) addressable (~> 2.8) childprocess (~> 5.0) @@ -329,17 +329,17 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.71.0) + rubocop (1.71.1) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.36.2, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.37.0) + rubocop-ast (1.38.0) parser (>= 3.3.1.0) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) @@ -512,7 +512,7 @@ CHECKSUMS jsonapi-rb (0.5.0) sha256=7922a164278f506c43d56277f6bd0800a0b603cc985f7f63fe7241b2628bd105 jsonapi-renderer (0.2.2) sha256=b5c44b033d61b4abdb6500fa4ab84807ca0b36ea0e59e47a2c3ca7095a6e447b jsonapi-serializable (0.3.1) sha256=221e657677659d798e268a33ec97a83ec5ea0e4233f931358db84e88056552e9 - language_server-protocol (3.17.0.3) sha256=3d5c58c02f44a20d972957a9febe386d7e7468ab3900ce6bd2b563dd910c6b3f + language_server-protocol (3.17.0.4) sha256=c484626478664fd13482d8180947c50a8590484b1258b99b7aedb3b69df89669 launchy (3.0.1) sha256=b7fa60bda0197cf57614e271a250a8ca1f6a34ab889a3c73f67ec5d57c8a7f2c letter_opener (1.10.0) sha256=2ff33f2e3b5c3c26d1959be54b395c086ca6d44826e8bf41a14ff96fdf1bdbb2 letter_opener_web (3.0.0) sha256=3f391efe0e8b9b24becfab5537dfb17a5cf5eb532038f947daab58cb4b749860 @@ -578,8 +578,8 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.71.0) sha256=e19679efd447346ac476122313d3788ae23c38214790bcf660e984c747608bf0 - rubocop-ast (1.37.0) sha256=9513ac88aaf113d04b52912533ffe46475de1362d4aa41141b51b2455827c080 + rubocop (1.71.1) sha256=d3dfd1e484a3a619dcf76c6a4fba694cd833921e4fd254d111845c26bcecfcfa + rubocop-ast (1.38.0) sha256=4fdf6792fe443a9a18acb12dbc8225d0d64cd1654e41fedb30e79c18edbb26ae rubocop-factory_bot (2.26.1) sha256=8de13cd4edcee5ca800f255188167ecef8dbfc3d1fae9f15734e9d2e755392aa rubocop-rails (2.29.1) sha256=41c2fcf48d5d62f4a5f574d5f1c97bbaf4cba88ee367936c98b3422d047b17aa rubocop-rspec (3.4.0) sha256=8721c13b6a8c9530a7ac481cea9423022f946fcf72428bda8289f8b57e4d4885 From 0b8a38cb8231786ccd1ae1b2bd83c05622efae1f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 4 Feb 2025 03:06:07 +0000 Subject: [PATCH 07/88] Update dependency solid_queue to v1.1.3 --- Gemfile.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4fabe90..c4a4109 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -205,18 +205,18 @@ GEM net-smtp (0.5.0) net-protocol nio4r (2.7.4) - nokogiri (1.18.1) + nokogiri (1.18.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.1-aarch64-linux-gnu) + nokogiri (1.18.2-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.1-arm-linux-gnu) + nokogiri (1.18.2-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.18.1-arm64-darwin) + nokogiri (1.18.2-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.1-x86_64-darwin) + nokogiri (1.18.2-x86_64-darwin) racc (~> 1.4) - nokogiri (1.18.1-x86_64-linux-gnu) + nokogiri (1.18.2-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) parallel (1.26.3) @@ -230,7 +230,7 @@ GEM pry (0.15.2) coderay (~> 1.1) method_source (~> 1.0) - psych (5.2.2) + psych (5.2.3) date stringio public_suffix (6.0.1) @@ -238,7 +238,7 @@ GEM nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) - rack (3.1.8) + rack (3.1.9) rack-cors (2.0.2) rack (>= 2.0.0) rack-session (2.0.0) @@ -360,7 +360,7 @@ GEM securerandom (0.4.1) shoulda-matchers (6.4.0) activesupport (>= 5.2.0) - solid_queue (1.1.2) + solid_queue (1.1.3) activejob (>= 7.1) activerecord (>= 7.1) concurrent-ruby (>= 1.3.1) @@ -533,24 +533,24 @@ CHECKSUMS net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8 net-smtp (0.5.0) sha256=5fc0415e6ea1cc0b3dfea7270438ec22b278ca8d524986a3ae4e5ae8d087b42a nio4r (2.7.4) sha256=d95dee68e0bb251b8ff90ac3423a511e3b784124e5db7ff5f4813a220ae73ca9 - nokogiri (1.18.1) sha256=df18be7e96c34736b6abfdeda80c6e845134fb9afe2fe5d4fbc1cf1f89c68475 - nokogiri (1.18.1-aarch64-linux-gnu) sha256=35837013800e34342fcbaca305f8c49231f6bd4f779bfa23fe7b4686ae82d5b8 - nokogiri (1.18.1-arm-linux-gnu) sha256=3b873fd6b0cd1ad7c77e87af701075bdfd14c9a6b2f2965c5e00ed29a5627a37 - nokogiri (1.18.1-arm64-darwin) sha256=d75193f284c899d225943a8944479faedd995a7573ddd5c8308ffbdf2ec55204 - nokogiri (1.18.1-x86_64-darwin) sha256=d94e3aa6483577495fc8969d6b4b5c075840ce6b1ab09636a6d4177ad171051d - nokogiri (1.18.1-x86_64-linux-gnu) sha256=e516cf16ccde67ed4cc595a2621ca5ddd42562ecb24928914b0045a20a41620e + nokogiri (1.18.2) sha256=93791cfb33186fe077eb9e1b8a6855b5621e328f81f565334572fa398366f8bf + nokogiri (1.18.2-aarch64-linux-gnu) sha256=74e0f9a7487a30a2957f46c5113d58f836436b033c9906e0bc6fee9d8cdafabf + nokogiri (1.18.2-arm-linux-gnu) sha256=6fb0246b69f2c589a69254e82bc2a40aa238c4f977fd7903e283341a92935729 + nokogiri (1.18.2-arm64-darwin) sha256=8288ec7a296e2510ca9bd053c0c5989f11260f8c07bc3e9afbafa536f7077281 + nokogiri (1.18.2-x86_64-darwin) sha256=7fca165e5ee87e9b6b3f1377180376afc0c8652ed2a3d761f472f0e3d3a1c651 + nokogiri (1.18.2-x86_64-linux-gnu) sha256=9330ced4a976604865c2a76ce158e2bc608fa83999552e85a32ec06f85f427db orm_adapter (0.5.0) sha256=aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9 parallel (1.26.3) sha256=d86babb7a2b814be9f4b81587bf0b6ce2da7d45969fab24d8ae4bf2bb4d4c7ef parser (3.3.7.0) sha256=7449011771e3e7881297859b849de26a6f4fccd515bece9520a87e7d2116119b pg (1.5.9) sha256=761efbdf73b66516f0c26fcbe6515dc7500c3f0aa1a1b853feae245433c64fdc pluck_to_hash (1.0.2) sha256=1599906239716f98262a41493dd7d4cb72e8d83ad3d76d666deacfc5de50a47e pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b - psych (5.2.2) sha256=a4a9477c85d3e858086c38cf64e7096abe40d1b1eed248b01020dec0ff9906ab + psych (5.2.3) sha256=84a54bb952d14604fea22d99938348814678782f58b12648fcdfa4d2fce859ee public_suffix (6.0.1) sha256=61d44e1cab5cbbbe5b31068481cf16976dd0dc1b6b07bd95617ef8c5e3e00c6f puma (6.5.0) sha256=94d1b75cab7f356d52e4f1b17b9040a090889b341dbeee6ee3703f441dc189f2 raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f - rack (3.1.8) sha256=d3fbcbca43dc2b43c9c6d7dfbac01667ae58643c42cea10013d0da970218a1b1 + rack (3.1.9) sha256=3d0a390444dcc753ced32978159463f92ac920ae28d7058b6fd633abb9dd349d rack-cors (2.0.2) sha256=415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b rack-session (2.0.0) sha256=db04b2063e180369192a9046b4559af311990af38c6a93d4c600cee4eb6d4e81 rack-test (2.1.0) sha256=0c61fc61904049d691922ea4bb99e28004ed3f43aa5cfd495024cc345f125dfb @@ -589,7 +589,7 @@ CHECKSUMS rubyzip (2.3.2) sha256=3f57e3935dc2255c414484fbf8d673b4909d8a6a57007ed754dde39342d2373f securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 shoulda-matchers (6.4.0) sha256=9055bb7f4bb342125fb860809798855c630e05ef5e75837b3168b8e6ee1608b0 - solid_queue (1.1.2) sha256=178c9396d1cf0dac595c7508da90ddb397d25848ca007b5c5ed48e6ac6fc360c + solid_queue (1.1.3) sha256=c7b4a84819eca6a61250aa8d7e48b8ded6882026e78ee21d3701d372ca741aa2 sprockets (4.2.1) sha256=951b13dd2f2fcae840a7184722689a803e0ff9d2702d902bd844b196da773f97 sprockets-rails (3.5.2) sha256=a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e stimulus-rails (1.3.4) sha256=765676ffa1f33af64ce026d26b48e8ffb2e0b94e0f50e9119e11d6107d67cb06 From afdb0cabca5eb4ee1831d8105e9d6c941f761442 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 5 Feb 2025 03:06:22 +0000 Subject: [PATCH 08/88] Update dependency puma to v6.6.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c4a4109..c7e42ba 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -234,7 +234,7 @@ GEM date stringio public_suffix (6.0.1) - puma (6.5.0) + puma (6.6.0) nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) @@ -547,7 +547,7 @@ CHECKSUMS pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b psych (5.2.3) sha256=84a54bb952d14604fea22d99938348814678782f58b12648fcdfa4d2fce859ee public_suffix (6.0.1) sha256=61d44e1cab5cbbbe5b31068481cf16976dd0dc1b6b07bd95617ef8c5e3e00c6f - puma (6.5.0) sha256=94d1b75cab7f356d52e4f1b17b9040a090889b341dbeee6ee3703f441dc189f2 + puma (6.6.0) sha256=f25c06873eb3d5de5f0a4ebc783acc81a4ccfe580c760cfe323497798018ad87 raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f rack (3.1.9) sha256=3d0a390444dcc753ced32978159463f92ac920ae28d7058b6fd633abb9dd349d From 5e2217262056da0316744d70461ef6776e9b860c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 9 Feb 2025 03:10:19 +0000 Subject: [PATCH 09/88] Update dependency rspec-rails to v7.1.1 --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c7e42ba..3b8875e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -297,7 +297,7 @@ GEM actionpack (>= 5.2) railties (>= 5.2) rexml (3.3.9) - rspec-core (3.13.2) + rspec-core (3.13.3) rspec-support (~> 3.13.0) rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) @@ -305,7 +305,7 @@ GEM rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.1.0) + rspec-rails (7.1.1) actionpack (>= 7.0) activesupport (>= 7.0) railties (>= 7.0) @@ -313,7 +313,7 @@ GEM rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.1) + rspec-support (3.13.2) rswag (2.16.0) rswag-api (= 2.16.0) rswag-specs (= 2.16.0) @@ -569,11 +569,11 @@ CHECKSUMS reline (0.6.0) sha256=57620375dcbe56ec09bac7192bfb7460c716bbf0054dc94345ecaa5438e539d2 responders (3.1.1) sha256=92f2a87e09028347368639cfb468f5fefa745cb0dc2377ef060db1cdd79a341a rexml (3.3.9) sha256=d71875b85299f341edf47d44df0212e7658cbdf35aeb69cefdb63f57af3137c9 - rspec-core (3.13.2) sha256=94fbda6e4738e478f1c7532b7cc241272fcdc8b9eac03a97338b1122e4573300 + rspec-core (3.13.3) sha256=25136507f4f9cf2e8977a2851e64e438b4331646054e345998714108745cdfe4 rspec-expectations (3.13.3) sha256=0e6b5af59b900147698ea0ff80456c4f2e69cac4394fbd392fbd1ca561f66c58 rspec-mocks (3.13.2) sha256=2327335def0e1665325a9b617e3af9ae20272741d80ac550336309a7c59abdef - rspec-rails (7.1.0) sha256=94585b69c4086ca79afae5cc8d2c5e314f6ad32a88c927f9c065b99596e3ee47 - rspec-support (3.13.1) sha256=48877d4f15b772b7538f3693c22225f2eda490ba65a0515c4e7cf6f2f17de70f + rspec-rails (7.1.1) sha256=e15dccabed211e2fd92f21330c819adcbeb1591c1d66c580d8f2d8288557e331 + rspec-support (3.13.2) sha256=cea3a2463fd9b84b9dcc9685efd80ea701aa8f7b3decb3b3ce795ed67737dbec rswag (2.16.0) sha256=f07ce41548b9bb51464c38bc7b95af22fee84b90f2d1197a515a623906353086 rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 From d4264e6118038e4f0a22510e08a9a5be1802b9fe Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 16 Feb 2025 03:12:05 +0000 Subject: [PATCH 10/88] Update dependency ruby to v3.4.2 --- Gemfile | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index adaab29..5458ce8 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' -ruby '3.4.1' +ruby '3.4.2' gem 'bootsnap', require: false gem 'csv' gem 'importmap-rails' diff --git a/Gemfile.lock b/Gemfile.lock index 3b8875e..4fe8fde 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -612,7 +612,7 @@ CHECKSUMS zeitwerk (2.7.1) sha256=0945986050e4907140895378e74df1fe882a2271ed087cc6c6d6b00d415a2756 RUBY VERSION - ruby 3.4.1p0 + ruby 3.4.2p28 BUNDLED WITH 2.6.1 From 79c0619e2ffc3c92fb020e470f36259805e6d362 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 16 Feb 2025 03:12:42 +0000 Subject: [PATCH 11/88] Update dependency rubocop-rails to v2.30.0 --- Gemfile.lock | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3b8875e..6edb731 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -95,7 +95,7 @@ GEM chroma (0.2.0) coderay (1.1.3) concurrent-ruby (1.3.5) - connection_pool (2.4.1) + connection_pool (2.5.0) crass (1.0.6) csv (3.3.2) date (3.4.1) @@ -143,7 +143,7 @@ GEM jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - json (2.9.1) + json (2.10.1) json-schema (5.0.1) addressable (~> 2.8) jsonapi-deserializable (0.2.0) @@ -176,7 +176,8 @@ GEM tomlrb (>= 1.3, < 2.1) with_env (= 1.1.0) xml-simple (~> 1.1.9) - logger (1.6.5) + lint_roller (1.1.0) + logger (1.6.6) loofah (2.23.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -220,7 +221,7 @@ GEM racc (~> 1.4) orm_adapter (0.5.0) parallel (1.26.3) - parser (3.3.7.0) + parser (3.3.7.1) ast (~> 2.4.1) racc pg (1.5.9) @@ -238,7 +239,7 @@ GEM nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) - rack (3.1.9) + rack (3.1.10) rack-cors (2.0.2) rack (>= 2.0.0) rack-session (2.0.0) @@ -329,9 +330,10 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.71.1) + rubocop (1.72.1) json (~> 2.3) - language_server-protocol (>= 3.17.0) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) @@ -343,11 +345,12 @@ GEM parser (>= 3.3.1.0) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) - rubocop-rails (2.29.1) + rubocop-rails (2.30.0) activesupport (>= 4.2.0) + lint_roller (~> 1.1) rack (>= 1.1) - rubocop (>= 1.52.0, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) + rubocop (>= 1.72.1, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) rubocop-rspec (3.4.0) rubocop (~> 1.61) rubocop-rspec_rails (2.30.0) @@ -482,7 +485,7 @@ CHECKSUMS chroma (0.2.0) sha256=64bdcd36a4765fbcd45adc64960cc153101300b4918f90ffdd89f4e2eb954b54 coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6 - connection_pool (2.4.1) sha256=0f40cf997091f1f04ff66da67eabd61a9fe0d4928b9a3645228532512fab62f4 + connection_pool (2.5.0) sha256=233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d csv (3.3.2) sha256=6ff0c135e65e485d1864dde6c1703b60d34cc9e19bed8452834a0b28a519bd4e date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f @@ -504,7 +507,7 @@ CHECKSUMS io-console (0.8.0) sha256=cd6a9facbc69871d69b2cb8b926fc6ea7ef06f06e505e81a64f14a470fddefa2 irb (1.14.3) sha256=c457f1f2f1438ae9ce5c5be3981ae2138dec7fb894c7d73777eeeb0a6c0d0752 jbuilder (2.13.0) sha256=7200a38a1c0081aa81b7a9757e7a299db75bc58cf1fd45ca7919a91627d227d6 - json (2.9.1) sha256=d2bdef4644052fad91c1785d48263756fe32fcac08b96a20bb15840e96550d11 + json (2.10.1) sha256=ddc88ad91a1baf3f0038c174f253af3b086d30dc74db17ca4259bbde982f94dc json-schema (5.0.1) sha256=bef71a82c600a42594911553522e143f7634affc198ed507ef3ded2f920a74a9 jsonapi-deserializable (0.2.0) sha256=5f0ca2d3f8404cce1584a314e8a3753be32a56054c942adfe997b87e92bce147 jsonapi-parser (0.1.1) sha256=9ee0dc031e88fc7548d56fab66f9716d1e1c06f972b529b8c4617bc42a097020 @@ -517,7 +520,8 @@ CHECKSUMS letter_opener (1.10.0) sha256=2ff33f2e3b5c3c26d1959be54b395c086ca6d44826e8bf41a14ff96fdf1bdbb2 letter_opener_web (3.0.0) sha256=3f391efe0e8b9b24becfab5537dfb17a5cf5eb532038f947daab58cb4b749860 license_finder (7.2.1) sha256=179ead19b64b170638b72fd16024233813673ac9d20d5ba75ae0b4444887ef14 - logger (1.6.5) sha256=c3cfe56d01656490ddd103d38b8993d73d86296adebc5f58cefc9ec03741e56b + lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87 + logger (1.6.6) sha256=dd618d24e637715472732e7eed02e33cfbdf56deaad225edd0f1f89d38024017 loofah (2.23.1) sha256=d0a07422cb3b69272e124afa914ef6d517e30d5496b7f1c1fc5b95481f13f75e mail (2.8.1) sha256=ec3b9fadcf2b3755c78785cb17bc9a0ca9ee9857108a64b6f5cfc9c0b5bfc9ad marcel (1.0.4) sha256=0d5649feb64b8f19f3d3468b96c680bae9746335d02194270287868a661516a4 @@ -541,7 +545,7 @@ CHECKSUMS nokogiri (1.18.2-x86_64-linux-gnu) sha256=9330ced4a976604865c2a76ce158e2bc608fa83999552e85a32ec06f85f427db orm_adapter (0.5.0) sha256=aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9 parallel (1.26.3) sha256=d86babb7a2b814be9f4b81587bf0b6ce2da7d45969fab24d8ae4bf2bb4d4c7ef - parser (3.3.7.0) sha256=7449011771e3e7881297859b849de26a6f4fccd515bece9520a87e7d2116119b + parser (3.3.7.1) sha256=7dbe61618025519024ac72402a6677ead02099587a5538e84371b76659e6aca1 pg (1.5.9) sha256=761efbdf73b66516f0c26fcbe6515dc7500c3f0aa1a1b853feae245433c64fdc pluck_to_hash (1.0.2) sha256=1599906239716f98262a41493dd7d4cb72e8d83ad3d76d666deacfc5de50a47e pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b @@ -550,7 +554,7 @@ CHECKSUMS puma (6.6.0) sha256=f25c06873eb3d5de5f0a4ebc783acc81a4ccfe580c760cfe323497798018ad87 raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f - rack (3.1.9) sha256=3d0a390444dcc753ced32978159463f92ac920ae28d7058b6fd633abb9dd349d + rack (3.1.10) sha256=5e873127d04704c8121528b1ce04c551b5493a78291cace896b059a2a44bcb12 rack-cors (2.0.2) sha256=415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b rack-session (2.0.0) sha256=db04b2063e180369192a9046b4559af311990af38c6a93d4c600cee4eb6d4e81 rack-test (2.1.0) sha256=0c61fc61904049d691922ea4bb99e28004ed3f43aa5cfd495024cc345f125dfb @@ -578,10 +582,10 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.71.1) sha256=d3dfd1e484a3a619dcf76c6a4fba694cd833921e4fd254d111845c26bcecfcfa + rubocop (1.72.1) sha256=4306ae64c6e7e1026d2a90ed755a113c7b9bf0ac21037b8046fbc826a87daaa5 rubocop-ast (1.38.0) sha256=4fdf6792fe443a9a18acb12dbc8225d0d64cd1654e41fedb30e79c18edbb26ae rubocop-factory_bot (2.26.1) sha256=8de13cd4edcee5ca800f255188167ecef8dbfc3d1fae9f15734e9d2e755392aa - rubocop-rails (2.29.1) sha256=41c2fcf48d5d62f4a5f574d5f1c97bbaf4cba88ee367936c98b3422d047b17aa + rubocop-rails (2.30.0) sha256=37d475c2cab768d1dfb07bee908ebdbc4814cfaa62f906d3e7adbcd7be01a33d rubocop-rspec (3.4.0) sha256=8721c13b6a8c9530a7ac481cea9423022f946fcf72428bda8289f8b57e4d4885 rubocop-rspec_rails (2.30.0) sha256=888112e83f9d7ef7ad2397e9d69a0b9614a4bae24f072c399804a180f80c4c46 ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 From d4018590884dd0bf755d7f96dbf0da4a770f3440 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 16 Feb 2025 22:20:24 +0100 Subject: [PATCH 12/88] Upgrade to ruby 3.4.2 --- .gitea/workflows/tests.yml | 6 +++--- .ruby-version | 2 +- Dockerfile | 2 +- Dockerfile.dev | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/tests.yml b/.gitea/workflows/tests.yml index 9c53589..c83664b 100644 --- a/.gitea/workflows/tests.yml +++ b/.gitea/workflows/tests.yml @@ -23,7 +23,7 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} ref: ${{ github.head_ref }} # Checkout the actual branch, not the result if merged into the base - - uses: ruby/setup-ruby@v1.207.0 + - uses: ruby/setup-ruby@v1.220.0 - run: bundle install - &postgres_wait name: Wait until Postgres is ready to accept connections @@ -70,7 +70,7 @@ jobs: - uses: actions/checkout@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@v1.207.0 + - uses: ruby/setup-ruby@v1.220.0 - run: bundle install - run: bundle exec rubocop --force-exclusion --parallel check-licenses: @@ -79,7 +79,7 @@ jobs: - uses: actions/checkout@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@v1.207.0 + - uses: ruby/setup-ruby@v1.220.0 - name: Install project dependencies run: bundle install --jobs `getconf _NPROCESSORS_ONLN` - name: Run license finder diff --git a/.ruby-version b/.ruby-version index 408069a..a07bf72 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -ruby-3.4.1 +ruby-3.4.2 diff --git a/Dockerfile b/Dockerfile index 290b412..e15f2f4 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.4.1 +ARG RUBY_VERSION=3.4.2 FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim AS base # Rails app lives here diff --git a/Dockerfile.dev b/Dockerfile.dev index 54e6717..a13a506 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -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.4.1 +ARG RUBY_VERSION=3.4.2 FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim as base # Rails app lives here From b27aab84a456b937b46dcf1a588c6ecaf451f4a3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 19 Feb 2025 03:10:13 +0000 Subject: [PATCH 13/88] Update dependency annotaterb to v4.14.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1c2ed88..eeeeb02 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,7 +76,7 @@ GEM rails (>= 6.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - annotaterb (4.13.0) + annotaterb (4.14.0) ast (2.4.2) babel-source (5.8.35) babel-transpiler (0.7.0) @@ -470,7 +470,7 @@ CHECKSUMS activesupport (8.0.1) sha256=fd5bc74641c24ac3541055c2879789198ff42adee3e39c2933289ba008912e37 acts_as_tenant (1.0.1) sha256=6944e4d64533337938a8817a6b4ff9b11189c9dcc0b1333bb89f3821a4c14c53 addressable (2.8.7) sha256=462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232 - annotaterb (4.13.0) sha256=6f472912002fefa735665b4132de47d0134ebf1efb76a7ef05f579cc4a6b2ff1 + annotaterb (4.14.0) sha256=466cf28443416a19754c807cb2acb9370c75a6a2bc3b92d3c4bbc02a38d00975 ast (2.4.2) sha256=1e280232e6a33754cde542bc5ef85520b74db2aac73ec14acef453784447cc12 babel-source (5.8.35) sha256=79ef222a9dcb867ac2efa3b0da35b4bcb15a4bfa67b6b2dcbf1e9a29104498d9 babel-transpiler (0.7.0) sha256=4c06f4ad9e8e1cabe94f99e11df2f140bb72aca9ba067dbb49dc14d9b98d1570 From 450d914d49ee64c175df5640215d5fa4b7bcf667 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 20 Feb 2025 03:10:48 +0000 Subject: [PATCH 14/88] Update dependency rubocop-rails to v2.30.1 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index eeeeb02..87eaf32 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -330,7 +330,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.72.1) + rubocop (1.72.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -345,7 +345,7 @@ GEM parser (>= 3.3.1.0) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) - rubocop-rails (2.30.0) + rubocop-rails (2.30.1) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) @@ -582,10 +582,10 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.72.1) sha256=4306ae64c6e7e1026d2a90ed755a113c7b9bf0ac21037b8046fbc826a87daaa5 + rubocop (1.72.2) sha256=0259a32d89fee60882bf4c4d8847e696357719c9db4971839da742bf053ae96b rubocop-ast (1.38.0) sha256=4fdf6792fe443a9a18acb12dbc8225d0d64cd1654e41fedb30e79c18edbb26ae rubocop-factory_bot (2.26.1) sha256=8de13cd4edcee5ca800f255188167ecef8dbfc3d1fae9f15734e9d2e755392aa - rubocop-rails (2.30.0) sha256=37d475c2cab768d1dfb07bee908ebdbc4814cfaa62f906d3e7adbcd7be01a33d + rubocop-rails (2.30.1) sha256=5eb39fbfce4e63fb0d79d48ba9a3fbc23d33dd9fa4585b8f9c811056fe156c10 rubocop-rspec (3.4.0) sha256=8721c13b6a8c9530a7ac481cea9423022f946fcf72428bda8289f8b57e4d4885 rubocop-rspec_rails (2.30.0) sha256=888112e83f9d7ef7ad2397e9d69a0b9614a4bae24f072c399804a180f80c4c46 ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 From 496a3ac28d52b5d3bd6f6ffaa4080284b9e650e3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 28 Feb 2025 03:05:40 +0000 Subject: [PATCH 15/88] Update dependency rubocop to v1.73.1 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 87eaf32..09b1f40 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -330,7 +330,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.72.2) + rubocop (1.73.1) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -341,7 +341,7 @@ GEM rubocop-ast (>= 1.38.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.38.0) + rubocop-ast (1.38.1) parser (>= 3.3.1.0) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) @@ -582,8 +582,8 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.72.2) sha256=0259a32d89fee60882bf4c4d8847e696357719c9db4971839da742bf053ae96b - rubocop-ast (1.38.0) sha256=4fdf6792fe443a9a18acb12dbc8225d0d64cd1654e41fedb30e79c18edbb26ae + rubocop (1.73.1) sha256=2528ac42743491feb996ebdf2babe645df46d2e50e1ee2858fedb10c0d24da17 + rubocop-ast (1.38.1) sha256=80ecbe2ac9bb26693cab9405bf72b41b85a1f909f20f021b983c32c2e7d857fe rubocop-factory_bot (2.26.1) sha256=8de13cd4edcee5ca800f255188167ecef8dbfc3d1fae9f15734e9d2e755392aa rubocop-rails (2.30.1) sha256=5eb39fbfce4e63fb0d79d48ba9a3fbc23d33dd9fa4585b8f9c811056fe156c10 rubocop-rspec (3.4.0) sha256=8721c13b6a8c9530a7ac481cea9423022f946fcf72428bda8289f8b57e4d4885 From af2f4015bceab51fa2b9b897382ead8d82924de7 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 1 Mar 2025 03:06:15 +0000 Subject: [PATCH 16/88] Update dependency rubocop-rails to v2.30.2 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 09b1f40..f78f0bc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -345,7 +345,7 @@ GEM parser (>= 3.3.1.0) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) - rubocop-rails (2.30.1) + rubocop-rails (2.30.2) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) @@ -390,7 +390,7 @@ GEM tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.6.0) - uri (1.0.2) + uri (1.0.3) useragent (0.16.11) warden (1.2.9) rack (>= 2.0.9) @@ -585,7 +585,7 @@ CHECKSUMS rubocop (1.73.1) sha256=2528ac42743491feb996ebdf2babe645df46d2e50e1ee2858fedb10c0d24da17 rubocop-ast (1.38.1) sha256=80ecbe2ac9bb26693cab9405bf72b41b85a1f909f20f021b983c32c2e7d857fe rubocop-factory_bot (2.26.1) sha256=8de13cd4edcee5ca800f255188167ecef8dbfc3d1fae9f15734e9d2e755392aa - rubocop-rails (2.30.1) sha256=5eb39fbfce4e63fb0d79d48ba9a3fbc23d33dd9fa4585b8f9c811056fe156c10 + rubocop-rails (2.30.2) sha256=1948435c001e3e5981f90cc451b800e5386a609baf8a8ebbaf4cb310e071027a rubocop-rspec (3.4.0) sha256=8721c13b6a8c9530a7ac481cea9423022f946fcf72428bda8289f8b57e4d4885 rubocop-rspec_rails (2.30.0) sha256=888112e83f9d7ef7ad2397e9d69a0b9614a4bae24f072c399804a180f80c4c46 ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 @@ -605,7 +605,7 @@ CHECKSUMS turbo-rails (2.0.11) sha256=fc47674736372780abd2a4dc0d84bef242f5ca156a457cd7fa6308291e397fcf tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b unicode-display_width (2.6.0) sha256=12279874bba6d5e4d2728cef814b19197dbb10d7a7837a869bab65da943b7f5a - uri (1.0.2) sha256=b303504ceb7e5905771fa7fa14b649652fa949df18b5880d69cfb12494791e27 + uri (1.0.3) sha256=e9f2244608eea2f7bc357d954c65c910ce0399ca5e18a7a29207ac22d8767011 useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844 warden (1.2.9) sha256=46684f885d35a69dbb883deabf85a222c8e427a957804719e143005df7a1efd0 web-console (4.2.1) sha256=e7bcf37a10ea2b4ec4281649d1cee461b32232d0a447e82c786e6841fd22fe20 From 10310eecc6e35641bdff6fff5f276b27303f4cf3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 2 Mar 2025 03:05:58 +0000 Subject: [PATCH 17/88] Update dependency redis to v5.4.0 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f78f0bc..637089e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -287,9 +287,9 @@ GEM execjs railties (>= 3.2) tilt - redis (5.3.0) + redis (5.4.0) redis-client (>= 0.22.0) - redis-client (0.22.2) + redis-client (0.23.2) connection_pool regexp_parser (2.10.0) reline (0.6.0) @@ -567,8 +567,8 @@ CHECKSUMS rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d rdoc (6.10.0) sha256=db665021883ac9df3ba29cdf71aece960749888db1bf9615b4a584cfa3fa3eda react-rails (3.2.1) sha256=2235db0b240517596b1cb3e26177ab5bc64d3a56579b0415ee242b1691f81f64 - redis (5.3.0) sha256=6bf810c5ae889187f0c45f77db503310980310afa57cf1640d57f419ccda72b1 - redis-client (0.22.2) sha256=31fee4b7cf04109b227327fabeaaf1fc5b652cf48a186a03bc607e40767bacc0 + redis (5.4.0) sha256=798900d869418a9fc3977f916578375b45c38247a556b61d58cba6bb02f7d06b + redis-client (0.23.2) sha256=e33bab6682c8155cfef95e6dd296936bb9c2981a89fb578ace27a076fa2836fa regexp_parser (2.10.0) sha256=cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61 reline (0.6.0) sha256=57620375dcbe56ec09bac7192bfb7460c716bbf0054dc94345ecaa5438e539d2 responders (3.1.1) sha256=92f2a87e09028347368639cfb468f5fefa745cb0dc2377ef060db1cdd79a341a From 63b92ce30f0df691ffb289eb9ce758594112fd4b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 4 Mar 2025 03:05:23 +0000 Subject: [PATCH 18/88] Update dependency rubocop-rails to v2.30.3 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 637089e..3dad0e0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -345,7 +345,7 @@ GEM parser (>= 3.3.1.0) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) - rubocop-rails (2.30.2) + rubocop-rails (2.30.3) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) @@ -585,7 +585,7 @@ CHECKSUMS rubocop (1.73.1) sha256=2528ac42743491feb996ebdf2babe645df46d2e50e1ee2858fedb10c0d24da17 rubocop-ast (1.38.1) sha256=80ecbe2ac9bb26693cab9405bf72b41b85a1f909f20f021b983c32c2e7d857fe rubocop-factory_bot (2.26.1) sha256=8de13cd4edcee5ca800f255188167ecef8dbfc3d1fae9f15734e9d2e755392aa - rubocop-rails (2.30.2) sha256=1948435c001e3e5981f90cc451b800e5386a609baf8a8ebbaf4cb310e071027a + rubocop-rails (2.30.3) sha256=fc5a6506daa916d15e282cc806943afa64a020bf592b93a94025d89a2a78a715 rubocop-rspec (3.4.0) sha256=8721c13b6a8c9530a7ac481cea9423022f946fcf72428bda8289f8b57e4d4885 rubocop-rspec_rails (2.30.0) sha256=888112e83f9d7ef7ad2397e9d69a0b9614a4bae24f072c399804a180f80c4c46 ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 From 431264e8487a134a479d04b1a34772d13d57cecd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 6 Mar 2025 03:09:55 +0000 Subject: [PATCH 19/88] Update dependency rubocop-factory_bot to v2.27.0 --- Gemfile.lock | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3dad0e0..5a26542 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -330,7 +330,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.73.1) + rubocop (1.73.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -343,8 +343,9 @@ GEM unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.38.1) parser (>= 3.3.1.0) - rubocop-factory_bot (2.26.1) - rubocop (~> 1.61) + rubocop-factory_bot (2.27.0) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) rubocop-rails (2.30.3) activesupport (>= 4.2.0) lint_roller (~> 1.1) @@ -582,9 +583,9 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.73.1) sha256=2528ac42743491feb996ebdf2babe645df46d2e50e1ee2858fedb10c0d24da17 + rubocop (1.73.2) sha256=35cd1b1365ba97234323fe771abcecd09c9b77098464cd726c76aa7d9bc12b5d rubocop-ast (1.38.1) sha256=80ecbe2ac9bb26693cab9405bf72b41b85a1f909f20f021b983c32c2e7d857fe - rubocop-factory_bot (2.26.1) sha256=8de13cd4edcee5ca800f255188167ecef8dbfc3d1fae9f15734e9d2e755392aa + rubocop-factory_bot (2.27.0) sha256=de9918bc4e1406b3025da87c5c34c91dd6c3e802cd59339790631f963a5652ba rubocop-rails (2.30.3) sha256=fc5a6506daa916d15e282cc806943afa64a020bf592b93a94025d89a2a78a715 rubocop-rspec (3.4.0) sha256=8721c13b6a8c9530a7ac481cea9423022f946fcf72428bda8289f8b57e4d4885 rubocop-rspec_rails (2.30.0) sha256=888112e83f9d7ef7ad2397e9d69a0b9614a4bae24f072c399804a180f80c4c46 From e9ed703c7e969610507e2a52e880986ee6fce3ad Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 13 Mar 2025 03:06:23 +0000 Subject: [PATCH 20/88] Update dependency rails to v8.0.2 --- Gemfile.lock | 185 ++++++++++++++++++++++++++------------------------- 1 file changed, 93 insertions(+), 92 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5a26542..4d0c28c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,29 +1,29 @@ GEM remote: https://rubygems.org/ specs: - actioncable (8.0.1) - actionpack (= 8.0.1) - activesupport (= 8.0.1) + actioncable (8.0.2) + actionpack (= 8.0.2) + activesupport (= 8.0.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (8.0.1) - actionpack (= 8.0.1) - activejob (= 8.0.1) - activerecord (= 8.0.1) - activestorage (= 8.0.1) - activesupport (= 8.0.1) + actionmailbox (8.0.2) + actionpack (= 8.0.2) + activejob (= 8.0.2) + activerecord (= 8.0.2) + activestorage (= 8.0.2) + activesupport (= 8.0.2) mail (>= 2.8.0) - actionmailer (8.0.1) - actionpack (= 8.0.1) - actionview (= 8.0.1) - activejob (= 8.0.1) - activesupport (= 8.0.1) + actionmailer (8.0.2) + actionpack (= 8.0.2) + actionview (= 8.0.2) + activejob (= 8.0.2) + activesupport (= 8.0.2) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (8.0.1) - actionview (= 8.0.1) - activesupport (= 8.0.1) + actionpack (8.0.2) + actionview (= 8.0.2) + activesupport (= 8.0.2) nokogiri (>= 1.8.5) rack (>= 2.2.4) rack-session (>= 1.0.1) @@ -31,35 +31,35 @@ GEM rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (8.0.1) - actionpack (= 8.0.1) - activerecord (= 8.0.1) - activestorage (= 8.0.1) - activesupport (= 8.0.1) + actiontext (8.0.2) + actionpack (= 8.0.2) + activerecord (= 8.0.2) + activestorage (= 8.0.2) + activesupport (= 8.0.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (8.0.1) - activesupport (= 8.0.1) + actionview (8.0.2) + activesupport (= 8.0.2) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (8.0.1) - activesupport (= 8.0.1) + activejob (8.0.2) + activesupport (= 8.0.2) globalid (>= 0.3.6) - activemodel (8.0.1) - activesupport (= 8.0.1) - activerecord (8.0.1) - activemodel (= 8.0.1) - activesupport (= 8.0.1) + activemodel (8.0.2) + activesupport (= 8.0.2) + activerecord (8.0.2) + activemodel (= 8.0.2) + activesupport (= 8.0.2) timeout (>= 0.4.0) - activestorage (8.0.1) - actionpack (= 8.0.1) - activejob (= 8.0.1) - activerecord (= 8.0.1) - activesupport (= 8.0.1) + activestorage (8.0.2) + actionpack (= 8.0.2) + activejob (= 8.0.2) + activerecord (= 8.0.2) + activesupport (= 8.0.2) marcel (~> 1.0) - activesupport (8.0.1) + activesupport (8.0.2) base64 benchmark (>= 0.3) bigdecimal @@ -190,34 +190,34 @@ GEM method_source (1.1.0) mini_mime (1.1.5) mini_portile2 (2.8.8) - minitest (5.25.4) + minitest (5.25.5) money (6.19.0) i18n (>= 0.6.4, <= 2) msgpack (1.7.2) multi_xml (0.7.1) bigdecimal (~> 3.1) - net-imap (0.5.2) + net-imap (0.5.6) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.18.2) + nokogiri (1.18.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.2-aarch64-linux-gnu) + nokogiri (1.18.3-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.2-arm-linux-gnu) + nokogiri (1.18.3-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.18.2-arm64-darwin) + nokogiri (1.18.3-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.2-x86_64-darwin) + nokogiri (1.18.3-x86_64-darwin) racc (~> 1.4) - nokogiri (1.18.2-x86_64-linux-gnu) + nokogiri (1.18.3-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) parallel (1.26.3) @@ -239,7 +239,7 @@ GEM nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) - rack (3.1.10) + rack (3.1.12) rack-cors (2.0.2) rack (>= 2.0.0) rack-session (2.0.0) @@ -248,20 +248,20 @@ GEM rack (>= 1.3) rackup (2.2.1) rack (>= 3) - rails (8.0.1) - actioncable (= 8.0.1) - actionmailbox (= 8.0.1) - actionmailer (= 8.0.1) - actionpack (= 8.0.1) - actiontext (= 8.0.1) - actionview (= 8.0.1) - activejob (= 8.0.1) - activemodel (= 8.0.1) - activerecord (= 8.0.1) - activestorage (= 8.0.1) - activesupport (= 8.0.1) + rails (8.0.2) + actioncable (= 8.0.2) + actionmailbox (= 8.0.2) + actionmailer (= 8.0.2) + actionpack (= 8.0.2) + actiontext (= 8.0.2) + actionview (= 8.0.2) + activejob (= 8.0.2) + activemodel (= 8.0.2) + activerecord (= 8.0.2) + activestorage (= 8.0.2) + activesupport (= 8.0.2) bundler (>= 1.15.0) - railties (= 8.0.1) + railties (= 8.0.2) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -269,9 +269,9 @@ GEM rails-html-sanitizer (1.6.2) loofah (~> 2.21) 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 (8.0.1) - actionpack (= 8.0.1) - activesupport (= 8.0.1) + railties (8.0.2) + actionpack (= 8.0.2) + activesupport (= 8.0.2) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -380,7 +380,7 @@ GEM sprockets (>= 3.0.0) stimulus-rails (1.3.4) railties (>= 6.0.0) - stringio (3.1.2) + stringio (3.1.5) thor (1.3.2) tilt (2.4.0) timeout (0.4.3) @@ -400,13 +400,14 @@ GEM activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - websocket-driver (0.7.6) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) with_env (1.1.0) xml-simple (1.1.9) rexml - zeitwerk (2.7.1) + zeitwerk (2.7.2) PLATFORMS aarch64-linux @@ -458,17 +459,17 @@ DEPENDENCIES web-console CHECKSUMS - actioncable (8.0.1) sha256=808bff2a4e3aba36f66f0cd65d7a1579ad52fb65e99304442c46051a79689d9b - actionmailbox (8.0.1) sha256=bbc7db779be857fb6eb5b53f313d3881cd8cda38a150c3aa25f89f2f9977b08c - actionmailer (8.0.1) sha256=7b074e9590e4ec5cebd2fc91d1f9ba4c61bbd4bbd4376f731527da187cd39952 - actionpack (8.0.1) sha256=c764e4bfc0ad9d3505c09ef9b6fbf9eca4292793550c6b7e2ea93167181bfcba - actiontext (8.0.1) sha256=f232d303e854db2098f34d7331fe493a72dc2e53dfce80fbd517c7b93d4b05b2 - actionview (8.0.1) sha256=3005e3de5ca49ea789bf1ad46002d63fe5aa543c61c341239d3c533757e64f8a - activejob (8.0.1) sha256=95acd9a32d498d3a458efbb317f6191fb678758cde0ebb6c68f0b25e0fe3477f - activemodel (8.0.1) sha256=f46292fd6dcc128e18d588854298a933fd9eb22544c412b414ec02821062dc78 - activerecord (8.0.1) sha256=34a7f0610660bb704f0363025d4b8d35ffe8ddc8f5b8147e0809171f724b5306 - activestorage (8.0.1) sha256=91a8f156638568fac971ff25962a617d9c58fdc0e44eb6bd0edff36aff7df205 - activesupport (8.0.1) sha256=fd5bc74641c24ac3541055c2879789198ff42adee3e39c2933289ba008912e37 + actioncable (8.0.2) sha256=7bcce2df62e91a80143592600e16583c273e98aab50ae40a9f6a2604bb3289a0 + actionmailbox (8.0.2) sha256=3d8fb3453913e6257da4d02004bbfa2b997dfd10672f8d990e95013983e2cedb + actionmailer (8.0.2) sha256=b0c968b38576ec56a3dc2795931818e0aaae6a18cc9801f53f175c12d4b277d0 + actionpack (8.0.2) sha256=93e703064f3815295ccf820f57acbca719aec836749597da9262781c9b2f4b78 + actiontext (8.0.2) sha256=a40db32032ee2fbb479d5d69318c4284344c1cda73836fd73ffcdb917d203abf + actionview (8.0.2) sha256=e038e1405cdfc18f04f17243da4fb8eeda3a4992f63a6d70a7281d255cf7cebb + activejob (8.0.2) sha256=b0228b45e36b1ef3a081c684e81494147e094a6baf729018756ccf125b1853ca + activemodel (8.0.2) sha256=0ae1fb7fa1fae0699ba041a9e97702df42ea3b13f2d39f2d0fde51fca5f0656c + activerecord (8.0.2) sha256=793470b92c44e4198d0262ac60086b7822f0ea585079ad67e32a6e4c86f2d90a + activestorage (8.0.2) sha256=f83d221e0f06ae38f2200e55490bd155c76d0add330f6e300e8646048d672977 + activesupport (8.0.2) sha256=8565cddba31b900cdc17682fd66ecd020441e3eef320a9930285394e8c07a45e acts_as_tenant (1.0.1) sha256=6944e4d64533337938a8817a6b4ff9b11189c9dcc0b1333bb89f3821a4c14c53 addressable (2.8.7) sha256=462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232 annotaterb (4.14.0) sha256=466cf28443416a19754c807cb2acb9370c75a6a2bc3b92d3c4bbc02a38d00975 @@ -529,21 +530,21 @@ CHECKSUMS method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5 mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef mini_portile2 (2.8.8) sha256=8e47136cdac04ce81750bb6c09733b37895bf06962554e4b4056d78168d70a75 - minitest (5.25.4) sha256=9cf2cae25ac4dfc90c988ebc3b917f53c054978b673273da1bd20bcb0778f947 + minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756 money (6.19.0) sha256=ec936fa1e42f2783719241ed9fd52725d0efa628f928feea1eb5c37d5de7daf3 msgpack (1.7.2) sha256=59ab62fd8a4d0dfbde45009f87eb6f158ab2628a7c48886b0256f175166baaa8 multi_xml (0.7.1) sha256=4fce100c68af588ff91b8ba90a0bb3f0466f06c909f21a32f4962059140ba61b - net-imap (0.5.2) sha256=e955b55e539712518bdb4eb747c6514f9c8d56ec4eb8eb573a82a6885a9effea + net-imap (0.5.6) sha256=1ede8048ee688a14206060bf37a716d18cb6ea00855f6c9b15daee97ee51fbe5 net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3 net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8 - net-smtp (0.5.0) sha256=5fc0415e6ea1cc0b3dfea7270438ec22b278ca8d524986a3ae4e5ae8d087b42a + net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736 nio4r (2.7.4) sha256=d95dee68e0bb251b8ff90ac3423a511e3b784124e5db7ff5f4813a220ae73ca9 - nokogiri (1.18.2) sha256=93791cfb33186fe077eb9e1b8a6855b5621e328f81f565334572fa398366f8bf - nokogiri (1.18.2-aarch64-linux-gnu) sha256=74e0f9a7487a30a2957f46c5113d58f836436b033c9906e0bc6fee9d8cdafabf - nokogiri (1.18.2-arm-linux-gnu) sha256=6fb0246b69f2c589a69254e82bc2a40aa238c4f977fd7903e283341a92935729 - nokogiri (1.18.2-arm64-darwin) sha256=8288ec7a296e2510ca9bd053c0c5989f11260f8c07bc3e9afbafa536f7077281 - nokogiri (1.18.2-x86_64-darwin) sha256=7fca165e5ee87e9b6b3f1377180376afc0c8652ed2a3d761f472f0e3d3a1c651 - nokogiri (1.18.2-x86_64-linux-gnu) sha256=9330ced4a976604865c2a76ce158e2bc608fa83999552e85a32ec06f85f427db + nokogiri (1.18.3) sha256=6b9fc3b14fd0cedd21f6cad8cf565123ba7401e56b5d0aec180c23cdca28fd5a + nokogiri (1.18.3-aarch64-linux-gnu) sha256=cab20305133078a8f6b60cf96311b48319175038cc7772e5ec586ff624cb7838 + nokogiri (1.18.3-arm-linux-gnu) sha256=37b73a55e0d1e8a058a24abb16868903e81cb4773049739c532b864f87236b1b + nokogiri (1.18.3-arm64-darwin) sha256=ce088965cd424b8e752d82087dcf017069d55791f157098ed1f671d966857610 + nokogiri (1.18.3-x86_64-darwin) sha256=d729406bb5a7b1bbe7ed3c0922336dd2c46085ed444d6de2a0a4c33950a4edea + nokogiri (1.18.3-x86_64-linux-gnu) sha256=3c7ad5cee39855ed9c746065f39b584b9fd2aaff61df02d0f85ba8d671bbe497 orm_adapter (0.5.0) sha256=aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9 parallel (1.26.3) sha256=d86babb7a2b814be9f4b81587bf0b6ce2da7d45969fab24d8ae4bf2bb4d4c7ef parser (3.3.7.1) sha256=7dbe61618025519024ac72402a6677ead02099587a5538e84371b76659e6aca1 @@ -555,15 +556,15 @@ CHECKSUMS puma (6.6.0) sha256=f25c06873eb3d5de5f0a4ebc783acc81a4ccfe580c760cfe323497798018ad87 raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f - rack (3.1.10) sha256=5e873127d04704c8121528b1ce04c551b5493a78291cace896b059a2a44bcb12 + rack (3.1.12) sha256=00d83055c89273eb13679ab562767b8826955aa6c4371d7d161deb975c50c540 rack-cors (2.0.2) sha256=415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b rack-session (2.0.0) sha256=db04b2063e180369192a9046b4559af311990af38c6a93d4c600cee4eb6d4e81 rack-test (2.1.0) sha256=0c61fc61904049d691922ea4bb99e28004ed3f43aa5cfd495024cc345f125dfb rackup (2.2.1) sha256=f737191fd5c5b348b7f0a4412a3b86383f88c43e13b8217b63d4c8d90b9e798d - rails (8.0.1) sha256=c86f4cd7834a67c1e5d04a77d35c88a5f56a20e2022ec416fa52c1af2cdc9491 + rails (8.0.2) sha256=fdfaa5a83ec0388e02864e88d515959caedc88053b5f701c4deb1652d8f164c6 rails-dom-testing (2.2.0) sha256=e515712e48df1f687a1d7c380fd7b07b8558faa26464474da64183a7426fa93b rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560 - railties (8.0.1) sha256=8f653c6b1b0721b553045bd0deda1f22074b9ddc2209526e6f7285fcf607ac51 + railties (8.0.2) sha256=0d7c3f40c49ba74980f1bac1d4bb153a9331c5ee8a9631d89c7bf79db82e5cf9 rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d rdoc (6.10.0) sha256=db665021883ac9df3ba29cdf71aece960749888db1bf9615b4a584cfa3fa3eda @@ -598,7 +599,7 @@ CHECKSUMS sprockets (4.2.1) sha256=951b13dd2f2fcae840a7184722689a803e0ff9d2702d902bd844b196da773f97 sprockets-rails (3.5.2) sha256=a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e stimulus-rails (1.3.4) sha256=765676ffa1f33af64ce026d26b48e8ffb2e0b94e0f50e9119e11d6107d67cb06 - stringio (3.1.2) sha256=204f1828f85cdb39d57cac4abc6dc44b04505a223f131587f2e20ae3729ba131 + stringio (3.1.5) sha256=bca92461515a131535743bc81d5559fa1de7d80cff9a654d6c0af6f9f27e35c8 thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda tilt (2.4.0) sha256=df74f29a451daed26591a85e8e0cebb198892cb75b6573394303acda273fba4d timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e @@ -610,11 +611,11 @@ CHECKSUMS useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844 warden (1.2.9) sha256=46684f885d35a69dbb883deabf85a222c8e427a957804719e143005df7a1efd0 web-console (4.2.1) sha256=e7bcf37a10ea2b4ec4281649d1cee461b32232d0a447e82c786e6841fd22fe20 - websocket-driver (0.7.6) sha256=f69400be7bc197879726ad8e6f5869a61823147372fd8928836a53c2c741d0db + websocket-driver (0.7.7) sha256=056d99f2cd545712cfb1291650fde7478e4f2661dc1db6a0fa3b966231a146b4 websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241 with_env (1.1.0) sha256=50b3e4f0a6cda8f90d8a6bd87a6261f6c381429abafb161c4c69ad4a0cd0b6e4 xml-simple (1.1.9) sha256=d21131e519c86f1a5bc2b6d2d57d46e6998e47f18ed249b25cad86433dbd695d - zeitwerk (2.7.1) sha256=0945986050e4907140895378e74df1fe882a2271ed087cc6c6d6b00d415a2756 + zeitwerk (2.7.2) sha256=842e067cb11eb923d747249badfb5fcdc9652d6f20a1f06453317920fdcd4673 RUBY VERSION ruby 3.4.2p28 From 4dd7f2f45d4729e68e3ba7690dcb3567c6002d4c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 14 Mar 2025 03:05:39 +0000 Subject: [PATCH 21/88] Update dependency rubocop-factory_bot to v2.27.1 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4d0c28c..2fa46ae 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -143,7 +143,7 @@ GEM jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - json (2.10.1) + json (2.10.2) json-schema (5.0.1) addressable (~> 2.8) jsonapi-deserializable (0.2.0) @@ -343,7 +343,7 @@ GEM unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.38.1) parser (>= 3.3.1.0) - rubocop-factory_bot (2.27.0) + rubocop-factory_bot (2.27.1) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) rubocop-rails (2.30.3) @@ -509,7 +509,7 @@ CHECKSUMS io-console (0.8.0) sha256=cd6a9facbc69871d69b2cb8b926fc6ea7ef06f06e505e81a64f14a470fddefa2 irb (1.14.3) sha256=c457f1f2f1438ae9ce5c5be3981ae2138dec7fb894c7d73777eeeb0a6c0d0752 jbuilder (2.13.0) sha256=7200a38a1c0081aa81b7a9757e7a299db75bc58cf1fd45ca7919a91627d227d6 - json (2.10.1) sha256=ddc88ad91a1baf3f0038c174f253af3b086d30dc74db17ca4259bbde982f94dc + json (2.10.2) sha256=34e0eada93022b2a0a3345bb0b5efddb6e9ff5be7c48e409cfb54ff8a36a8b06 json-schema (5.0.1) sha256=bef71a82c600a42594911553522e143f7634affc198ed507ef3ded2f920a74a9 jsonapi-deserializable (0.2.0) sha256=5f0ca2d3f8404cce1584a314e8a3753be32a56054c942adfe997b87e92bce147 jsonapi-parser (0.1.1) sha256=9ee0dc031e88fc7548d56fab66f9716d1e1c06f972b529b8c4617bc42a097020 @@ -586,7 +586,7 @@ CHECKSUMS rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f rubocop (1.73.2) sha256=35cd1b1365ba97234323fe771abcecd09c9b77098464cd726c76aa7d9bc12b5d rubocop-ast (1.38.1) sha256=80ecbe2ac9bb26693cab9405bf72b41b85a1f909f20f021b983c32c2e7d857fe - rubocop-factory_bot (2.27.0) sha256=de9918bc4e1406b3025da87c5c34c91dd6c3e802cd59339790631f963a5652ba + rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.30.3) sha256=fc5a6506daa916d15e282cc806943afa64a020bf592b93a94025d89a2a78a715 rubocop-rspec (3.4.0) sha256=8721c13b6a8c9530a7ac481cea9423022f946fcf72428bda8289f8b57e4d4885 rubocop-rspec_rails (2.30.0) sha256=888112e83f9d7ef7ad2397e9d69a0b9614a4bae24f072c399804a180f80c4c46 From 51695e2c83623b6f740846f365c9785e1d849618 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 15 Mar 2025 03:05:49 +0000 Subject: [PATCH 22/88] Update dependency turbo-rails to v2.0.13 --- Gemfile.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2fa46ae..f197d29 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -206,18 +206,18 @@ GEM net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.18.3) + nokogiri (1.18.4) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.3-aarch64-linux-gnu) + nokogiri (1.18.4-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.3-arm-linux-gnu) + nokogiri (1.18.4-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.18.3-arm64-darwin) + nokogiri (1.18.4-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.3-x86_64-darwin) + nokogiri (1.18.4-x86_64-darwin) racc (~> 1.4) - nokogiri (1.18.3-x86_64-linux-gnu) + nokogiri (1.18.4-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) parallel (1.26.3) @@ -385,9 +385,9 @@ GEM tilt (2.4.0) timeout (0.4.3) tomlrb (2.0.3) - turbo-rails (2.0.11) - actionpack (>= 6.0.0) - railties (>= 6.0.0) + turbo-rails (2.0.13) + actionpack (>= 7.1.0) + railties (>= 7.1.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.6.0) @@ -539,12 +539,12 @@ CHECKSUMS net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8 net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736 nio4r (2.7.4) sha256=d95dee68e0bb251b8ff90ac3423a511e3b784124e5db7ff5f4813a220ae73ca9 - nokogiri (1.18.3) sha256=6b9fc3b14fd0cedd21f6cad8cf565123ba7401e56b5d0aec180c23cdca28fd5a - nokogiri (1.18.3-aarch64-linux-gnu) sha256=cab20305133078a8f6b60cf96311b48319175038cc7772e5ec586ff624cb7838 - nokogiri (1.18.3-arm-linux-gnu) sha256=37b73a55e0d1e8a058a24abb16868903e81cb4773049739c532b864f87236b1b - nokogiri (1.18.3-arm64-darwin) sha256=ce088965cd424b8e752d82087dcf017069d55791f157098ed1f671d966857610 - nokogiri (1.18.3-x86_64-darwin) sha256=d729406bb5a7b1bbe7ed3c0922336dd2c46085ed444d6de2a0a4c33950a4edea - nokogiri (1.18.3-x86_64-linux-gnu) sha256=3c7ad5cee39855ed9c746065f39b584b9fd2aaff61df02d0f85ba8d671bbe497 + nokogiri (1.18.4) sha256=bb7820521c1bbae1d3e0092ff03b27a8e700912b37d80f962b7e4567947a64ac + nokogiri (1.18.4-aarch64-linux-gnu) sha256=8f2263cef9953ce09bd5293d76c9bbd3013d2f94d1cca67783dfe6635c529deb + nokogiri (1.18.4-arm-linux-gnu) sha256=cc2945e2c19560a61a97737e6bd3b329edb1f82ca204d46a18e5e98ad0a550a6 + nokogiri (1.18.4-arm64-darwin) sha256=73902663b23b1123282b9c0b6d9654b1fb286dfee8d65cb1f6029087b7f0d037 + nokogiri (1.18.4-x86_64-darwin) sha256=e4776f58eea9b94d05caf8bf351e3c6aa1cce01edcc2ed530f3c302c13178965 + nokogiri (1.18.4-x86_64-linux-gnu) sha256=b1c6407b346b88704e97a342a80acd4755175324e624da34d0c5cfdc8d34191e orm_adapter (0.5.0) sha256=aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9 parallel (1.26.3) sha256=d86babb7a2b814be9f4b81587bf0b6ce2da7d45969fab24d8ae4bf2bb4d4c7ef parser (3.3.7.1) sha256=7dbe61618025519024ac72402a6677ead02099587a5538e84371b76659e6aca1 @@ -604,7 +604,7 @@ CHECKSUMS tilt (2.4.0) sha256=df74f29a451daed26591a85e8e0cebb198892cb75b6573394303acda273fba4d timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e tomlrb (2.0.3) sha256=c2736acf24919f793334023a4ff396c0647d93fce702a73c9d348deaa815d4f7 - turbo-rails (2.0.11) sha256=fc47674736372780abd2a4dc0d84bef242f5ca156a457cd7fa6308291e397fcf + turbo-rails (2.0.13) sha256=c40ac0a3ccd57c129925c8ac524a5dfd1e17fad080906e2d32135721a8bba22f tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b unicode-display_width (2.6.0) sha256=12279874bba6d5e4d2728cef814b19197dbb10d7a7837a869bab65da943b7f5a uri (1.0.3) sha256=e9f2244608eea2f7bc357d954c65c910ce0399ca5e18a7a29207ac22d8767011 From c5f92ab511c9540adbdf6680d2a6de18474b24ab Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 16 Mar 2025 03:08:33 +0000 Subject: [PATCH 23/88] Update dependency rubocop-rspec to v3.5.0 --- Gemfile.lock | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f197d29..daff415 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -330,7 +330,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.73.2) + rubocop (1.74.0) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -352,8 +352,9 @@ GEM rack (>= 1.1) rubocop (>= 1.72.1, < 2.0) rubocop-ast (>= 1.38.0, < 2.0) - rubocop-rspec (3.4.0) - rubocop (~> 1.61) + rubocop-rspec (3.5.0) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) rubocop-rspec_rails (2.30.0) rubocop (~> 1.61) rubocop-rspec (~> 3, >= 3.0.1) @@ -584,11 +585,11 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.73.2) sha256=35cd1b1365ba97234323fe771abcecd09c9b77098464cd726c76aa7d9bc12b5d + rubocop (1.74.0) sha256=06138a35d7d11c963d5abc0148b355e3999007cb0225a619940db0e75521379b rubocop-ast (1.38.1) sha256=80ecbe2ac9bb26693cab9405bf72b41b85a1f909f20f021b983c32c2e7d857fe rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.30.3) sha256=fc5a6506daa916d15e282cc806943afa64a020bf592b93a94025d89a2a78a715 - rubocop-rspec (3.4.0) sha256=8721c13b6a8c9530a7ac481cea9423022f946fcf72428bda8289f8b57e4d4885 + rubocop-rspec (3.5.0) sha256=710c942fe1af884ba8eea75cbb8bdbb051929a2208880a6fc2e2dce1eed5304c rubocop-rspec_rails (2.30.0) sha256=888112e83f9d7ef7ad2397e9d69a0b9614a4bae24f072c399804a180f80c4c46 ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 rubytree (2.1.1) sha256=4925016356a81730e982f1f8c3b5f8da461f18906c77d238bad4c4ba896abd41 From b195ab742691dfbad4190d7d1d07093bc0b30635 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 17 Mar 2025 03:03:41 +0000 Subject: [PATCH 24/88] Update dependency rubocop-rspec_rails to v2.31.0 --- Gemfile.lock | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index daff415..5b368ec 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -341,7 +341,7 @@ GEM rubocop-ast (>= 1.38.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.38.1) + rubocop-ast (1.39.0) parser (>= 3.3.1.0) rubocop-factory_bot (2.27.1) lint_roller (~> 1.1) @@ -355,9 +355,10 @@ GEM rubocop-rspec (3.5.0) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) - rubocop-rspec_rails (2.30.0) - rubocop (~> 1.61) - rubocop-rspec (~> 3, >= 3.0.1) + rubocop-rspec_rails (2.31.0) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-rspec (~> 3.5) ruby-progressbar (1.13.0) rubytree (2.1.1) json (~> 2.0, > 2.9) @@ -586,11 +587,11 @@ CHECKSUMS rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f rubocop (1.74.0) sha256=06138a35d7d11c963d5abc0148b355e3999007cb0225a619940db0e75521379b - rubocop-ast (1.38.1) sha256=80ecbe2ac9bb26693cab9405bf72b41b85a1f909f20f021b983c32c2e7d857fe + rubocop-ast (1.39.0) sha256=b6ba0f677ceced033b81c69405ac8931f4963116c572b8da5e15a03619a8236c rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.30.3) sha256=fc5a6506daa916d15e282cc806943afa64a020bf592b93a94025d89a2a78a715 rubocop-rspec (3.5.0) sha256=710c942fe1af884ba8eea75cbb8bdbb051929a2208880a6fc2e2dce1eed5304c - rubocop-rspec_rails (2.30.0) sha256=888112e83f9d7ef7ad2397e9d69a0b9614a4bae24f072c399804a180f80c4c46 + rubocop-rspec_rails (2.31.0) sha256=775375e18a26a1184a812ef3054b79d218e85601b9ae897f38f8be24dddf1f45 ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 rubytree (2.1.1) sha256=4925016356a81730e982f1f8c3b5f8da461f18906c77d238bad4c4ba896abd41 rubyzip (2.3.2) sha256=3f57e3935dc2255c414484fbf8d673b4909d8a6a57007ed754dde39342d2373f From 56dd6d6d13110b41377a8c8506eb8313a705ba86 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 18 Mar 2025 03:04:28 +0000 Subject: [PATCH 25/88] Update dependency solid_queue to v1.1.4 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5b368ec..45a2f7d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -366,7 +366,7 @@ GEM securerandom (0.4.1) shoulda-matchers (6.4.0) activesupport (>= 5.2.0) - solid_queue (1.1.3) + solid_queue (1.1.4) activejob (>= 7.1) activerecord (>= 7.1) concurrent-ruby (>= 1.3.1) @@ -597,7 +597,7 @@ CHECKSUMS rubyzip (2.3.2) sha256=3f57e3935dc2255c414484fbf8d673b4909d8a6a57007ed754dde39342d2373f securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 shoulda-matchers (6.4.0) sha256=9055bb7f4bb342125fb860809798855c630e05ef5e75837b3168b8e6ee1608b0 - solid_queue (1.1.3) sha256=c7b4a84819eca6a61250aa8d7e48b8ded6882026e78ee21d3701d372ca741aa2 + solid_queue (1.1.4) sha256=7b5b3395ec7ca8c131c71df9082e919ab7b5332684f6f686206f321d1c6b9f90 sprockets (4.2.1) sha256=951b13dd2f2fcae840a7184722689a803e0ff9d2702d902bd844b196da773f97 sprockets-rails (3.5.2) sha256=a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e stimulus-rails (1.3.4) sha256=765676ffa1f33af64ce026d26b48e8ffb2e0b94e0f50e9119e11d6107d67cb06 From ee20b596d149427d258ffc0a1813dd02f3cd19f8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 27 Mar 2025 03:05:34 +0000 Subject: [PATCH 26/88] Update dependency rubocop to v1.75.1 --- Gemfile.lock | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 45a2f7d..3dfe1b9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -77,7 +77,7 @@ GEM addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) annotaterb (4.14.0) - ast (2.4.2) + ast (2.4.3) babel-source (5.8.35) babel-transpiler (0.7.0) babel-source (>= 4.0, < 6) @@ -221,13 +221,14 @@ GEM racc (~> 1.4) orm_adapter (0.5.0) parallel (1.26.3) - parser (3.3.7.1) + parser (3.3.7.3) ast (~> 2.4.1) racc pg (1.5.9) pluck_to_hash (1.0.2) activerecord (>= 4.0.2) activesupport (>= 4.0.2) + prism (1.4.0) pry (0.15.2) coderay (~> 1.1) method_source (~> 1.0) @@ -330,7 +331,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.74.0) + rubocop (1.75.1) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -338,11 +339,12 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.38.0, < 2.0) + rubocop-ast (>= 1.43.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.39.0) - parser (>= 3.3.1.0) + rubocop-ast (1.43.0) + parser (>= 3.3.7.2) + prism (~> 1.4) rubocop-factory_bot (2.27.1) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) @@ -475,7 +477,7 @@ CHECKSUMS acts_as_tenant (1.0.1) sha256=6944e4d64533337938a8817a6b4ff9b11189c9dcc0b1333bb89f3821a4c14c53 addressable (2.8.7) sha256=462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232 annotaterb (4.14.0) sha256=466cf28443416a19754c807cb2acb9370c75a6a2bc3b92d3c4bbc02a38d00975 - ast (2.4.2) sha256=1e280232e6a33754cde542bc5ef85520b74db2aac73ec14acef453784447cc12 + ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383 babel-source (5.8.35) sha256=79ef222a9dcb867ac2efa3b0da35b4bcb15a4bfa67b6b2dcbf1e9a29104498d9 babel-transpiler (0.7.0) sha256=4c06f4ad9e8e1cabe94f99e11df2f140bb72aca9ba067dbb49dc14d9b98d1570 base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507 @@ -549,9 +551,10 @@ CHECKSUMS nokogiri (1.18.4-x86_64-linux-gnu) sha256=b1c6407b346b88704e97a342a80acd4755175324e624da34d0c5cfdc8d34191e orm_adapter (0.5.0) sha256=aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9 parallel (1.26.3) sha256=d86babb7a2b814be9f4b81587bf0b6ce2da7d45969fab24d8ae4bf2bb4d4c7ef - parser (3.3.7.1) sha256=7dbe61618025519024ac72402a6677ead02099587a5538e84371b76659e6aca1 + parser (3.3.7.3) sha256=5803acc132cf1155fac2656bf02d3fb9223dccd66f1aa538dac095b785fa4d64 pg (1.5.9) sha256=761efbdf73b66516f0c26fcbe6515dc7500c3f0aa1a1b853feae245433c64fdc pluck_to_hash (1.0.2) sha256=1599906239716f98262a41493dd7d4cb72e8d83ad3d76d666deacfc5de50a47e + prism (1.4.0) sha256=dc0e3e00e93160213dc2a65519d9002a4a1e7b962db57d444cf1a71565bb703e pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b psych (5.2.3) sha256=84a54bb952d14604fea22d99938348814678782f58b12648fcdfa4d2fce859ee public_suffix (6.0.1) sha256=61d44e1cab5cbbbe5b31068481cf16976dd0dc1b6b07bd95617ef8c5e3e00c6f @@ -586,8 +589,8 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.74.0) sha256=06138a35d7d11c963d5abc0148b355e3999007cb0225a619940db0e75521379b - rubocop-ast (1.39.0) sha256=b6ba0f677ceced033b81c69405ac8931f4963116c572b8da5e15a03619a8236c + rubocop (1.75.1) sha256=c12900c55b0b52e6ed1384f7f7575beb92047019ce37ca14b9572d80239adc29 + rubocop-ast (1.43.0) sha256=92cd649e336ce10212cb2f2b29028f487777ecc477f108f437a1dce1ee3db79a rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.30.3) sha256=fc5a6506daa916d15e282cc806943afa64a020bf592b93a94025d89a2a78a715 rubocop-rspec (3.5.0) sha256=710c942fe1af884ba8eea75cbb8bdbb051929a2208880a6fc2e2dce1eed5304c From b36099e6dffdf975ffbfdb57500056e3756fa53b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 29 Mar 2025 03:06:56 +0000 Subject: [PATCH 27/88] Update dependency httparty to v0.23.1 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3dfe1b9..c950bd1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -97,7 +97,7 @@ GEM concurrent-ruby (1.3.5) connection_pool (2.5.0) crass (1.0.6) - csv (3.3.2) + csv (3.3.3) date (3.4.1) debug (1.10.0) irb (~> 1.10) @@ -126,7 +126,7 @@ GEM raabro (~> 1.4) globalid (1.2.1) activesupport (>= 6.1) - httparty (0.22.0) + httparty (0.23.1) csv mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) @@ -493,7 +493,7 @@ CHECKSUMS concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6 connection_pool (2.5.0) sha256=233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d - csv (3.3.2) sha256=6ff0c135e65e485d1864dde6c1703b60d34cc9e19bed8452834a0b28a519bd4e + csv (3.3.3) sha256=7e2966befb7bdaf7d5e9b36e1de73e6a5e7a72f584f180a1726aec88a1b0a900 date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f debug (1.10.0) sha256=11e28ca74875979e612444104f3972bd5ffb9e79179907d7ad46dba44bd2e7a4 devise (4.9.4) sha256=920042fe5e704c548aa4eb65ebdd65980b83ffae67feb32c697206bfd975a7f8 @@ -507,7 +507,7 @@ CHECKSUMS faker (3.5.1) sha256=1ad1fbea279d882f486059c23fe3ddb816ccd1d7052c05a45014b4450d859bfc fugit (1.11.1) sha256=e89485e7be22226d8e9c6da411664d0660284b4b1c08cacb540f505907869868 globalid (1.2.1) sha256=70bf76711871f843dbba72beb8613229a49429d1866828476f9c9d6ccc327ce9 - httparty (0.22.0) sha256=78652a5c9471cf0093d3b2083c2295c9c8f12b44c65112f1846af2b71430fa6c + httparty (0.23.1) sha256=3ac1dd62f2010f6ece551716f5ceec2b2012011d89f1751917ab7f724e966b55 i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f importmap-rails (2.1.0) sha256=9f10c67d60651a547579f448100d033df311c5d5db578301374aeb774faae741 io-console (0.8.0) sha256=cd6a9facbc69871d69b2cb8b926fc6ea7ef06f06e505e81a64f14a470fddefa2 From 3aa629d676eeeb98c479a1fbb7bc1534c06c6632 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 2 Apr 2025 02:05:52 +0000 Subject: [PATCH 28/88] Update dependency rubocop-rails to v2.31.0 --- Gemfile.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c950bd1..a57643a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -177,7 +177,7 @@ GEM with_env (= 1.1.0) xml-simple (~> 1.1.9) lint_roller (1.1.0) - logger (1.6.6) + logger (1.7.0) loofah (2.23.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -221,7 +221,7 @@ GEM racc (~> 1.4) orm_adapter (0.5.0) parallel (1.26.3) - parser (3.3.7.3) + parser (3.3.7.4) ast (~> 2.4.1) racc pg (1.5.9) @@ -348,11 +348,11 @@ GEM rubocop-factory_bot (2.27.1) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) - rubocop-rails (2.30.3) + rubocop-rails (2.31.0) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) - rubocop (>= 1.72.1, < 2.0) + rubocop (>= 1.75.0, < 2.0) rubocop-ast (>= 1.38.0, < 2.0) rubocop-rspec (3.5.0) lint_roller (~> 1.1) @@ -527,7 +527,7 @@ CHECKSUMS letter_opener_web (3.0.0) sha256=3f391efe0e8b9b24becfab5537dfb17a5cf5eb532038f947daab58cb4b749860 license_finder (7.2.1) sha256=179ead19b64b170638b72fd16024233813673ac9d20d5ba75ae0b4444887ef14 lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87 - logger (1.6.6) sha256=dd618d24e637715472732e7eed02e33cfbdf56deaad225edd0f1f89d38024017 + logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203 loofah (2.23.1) sha256=d0a07422cb3b69272e124afa914ef6d517e30d5496b7f1c1fc5b95481f13f75e mail (2.8.1) sha256=ec3b9fadcf2b3755c78785cb17bc9a0ca9ee9857108a64b6f5cfc9c0b5bfc9ad marcel (1.0.4) sha256=0d5649feb64b8f19f3d3468b96c680bae9746335d02194270287868a661516a4 @@ -551,7 +551,7 @@ CHECKSUMS nokogiri (1.18.4-x86_64-linux-gnu) sha256=b1c6407b346b88704e97a342a80acd4755175324e624da34d0c5cfdc8d34191e orm_adapter (0.5.0) sha256=aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9 parallel (1.26.3) sha256=d86babb7a2b814be9f4b81587bf0b6ce2da7d45969fab24d8ae4bf2bb4d4c7ef - parser (3.3.7.3) sha256=5803acc132cf1155fac2656bf02d3fb9223dccd66f1aa538dac095b785fa4d64 + parser (3.3.7.4) sha256=2b26282274280e13f891080dc4ef3f65ce658d62e13255b246b28ec6754e98ab pg (1.5.9) sha256=761efbdf73b66516f0c26fcbe6515dc7500c3f0aa1a1b853feae245433c64fdc pluck_to_hash (1.0.2) sha256=1599906239716f98262a41493dd7d4cb72e8d83ad3d76d666deacfc5de50a47e prism (1.4.0) sha256=dc0e3e00e93160213dc2a65519d9002a4a1e7b962db57d444cf1a71565bb703e @@ -592,7 +592,7 @@ CHECKSUMS rubocop (1.75.1) sha256=c12900c55b0b52e6ed1384f7f7575beb92047019ce37ca14b9572d80239adc29 rubocop-ast (1.43.0) sha256=92cd649e336ce10212cb2f2b29028f487777ecc477f108f437a1dce1ee3db79a rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe - rubocop-rails (2.30.3) sha256=fc5a6506daa916d15e282cc806943afa64a020bf592b93a94025d89a2a78a715 + rubocop-rails (2.31.0) sha256=79476e1075299c3e60fc50549c7c32614f9ebaae719b899ed75785c6786c52bd rubocop-rspec (3.5.0) sha256=710c942fe1af884ba8eea75cbb8bdbb051929a2208880a6fc2e2dce1eed5304c rubocop-rspec_rails (2.31.0) sha256=775375e18a26a1184a812ef3054b79d218e85601b9ae897f38f8be24dddf1f45 ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 From 88367081f1f1d1a1315d894cdde37d625ef50e4c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 19 Apr 2025 02:04:33 +0000 Subject: [PATCH 29/88] Update dependency rubocop-rspec to v3.6.0 --- Gemfile.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index a57643a..a053ad2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -220,8 +220,8 @@ GEM nokogiri (1.18.4-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) - parallel (1.26.3) - parser (3.3.7.4) + parallel (1.27.0) + parser (3.3.8.0) ast (~> 2.4.1) racc pg (1.5.9) @@ -331,7 +331,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.75.1) + rubocop (1.75.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -339,10 +339,10 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.43.0, < 2.0) + rubocop-ast (>= 1.44.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.43.0) + rubocop-ast (1.44.1) parser (>= 3.3.7.2) prism (~> 1.4) rubocop-factory_bot (2.27.1) @@ -354,7 +354,7 @@ GEM rack (>= 1.1) rubocop (>= 1.75.0, < 2.0) rubocop-ast (>= 1.38.0, < 2.0) - rubocop-rspec (3.5.0) + rubocop-rspec (3.6.0) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) rubocop-rspec_rails (2.31.0) @@ -550,8 +550,8 @@ CHECKSUMS nokogiri (1.18.4-x86_64-darwin) sha256=e4776f58eea9b94d05caf8bf351e3c6aa1cce01edcc2ed530f3c302c13178965 nokogiri (1.18.4-x86_64-linux-gnu) sha256=b1c6407b346b88704e97a342a80acd4755175324e624da34d0c5cfdc8d34191e orm_adapter (0.5.0) sha256=aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9 - parallel (1.26.3) sha256=d86babb7a2b814be9f4b81587bf0b6ce2da7d45969fab24d8ae4bf2bb4d4c7ef - parser (3.3.7.4) sha256=2b26282274280e13f891080dc4ef3f65ce658d62e13255b246b28ec6754e98ab + parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130 + parser (3.3.8.0) sha256=2476364142b307fa5a1b1ece44f260728be23858a9c71078e956131a75453c45 pg (1.5.9) sha256=761efbdf73b66516f0c26fcbe6515dc7500c3f0aa1a1b853feae245433c64fdc pluck_to_hash (1.0.2) sha256=1599906239716f98262a41493dd7d4cb72e8d83ad3d76d666deacfc5de50a47e prism (1.4.0) sha256=dc0e3e00e93160213dc2a65519d9002a4a1e7b962db57d444cf1a71565bb703e @@ -589,11 +589,11 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.75.1) sha256=c12900c55b0b52e6ed1384f7f7575beb92047019ce37ca14b9572d80239adc29 - rubocop-ast (1.43.0) sha256=92cd649e336ce10212cb2f2b29028f487777ecc477f108f437a1dce1ee3db79a + rubocop (1.75.2) sha256=8efde647e278417e8074421b007e0d7d7c591482ef99d980528b18fea015a7c8 + rubocop-ast (1.44.1) sha256=e3cc04203b2ef04f6d6cf5f85fe6d643f442b18cc3b23e3ada0ce5b6521b8e92 rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.31.0) sha256=79476e1075299c3e60fc50549c7c32614f9ebaae719b899ed75785c6786c52bd - rubocop-rspec (3.5.0) sha256=710c942fe1af884ba8eea75cbb8bdbb051929a2208880a6fc2e2dce1eed5304c + rubocop-rspec (3.6.0) sha256=c0e4205871776727e54dee9cc91af5fd74578001551ba40e1fe1a1ab4b404479 rubocop-rspec_rails (2.31.0) sha256=775375e18a26a1184a812ef3054b79d218e85601b9ae897f38f8be24dddf1f45 ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 rubytree (2.1.1) sha256=4925016356a81730e982f1f8c3b5f8da461f18906c77d238bad4c4ba896abd41 From 9926d99a229a7576e9f1f52252e8d8e5fbb00d50 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 21 Apr 2025 02:04:55 +0000 Subject: [PATCH 30/88] Update dependency solid_queue to v1.1.5 --- Gemfile.lock | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index a053ad2..cca6cac 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -95,7 +95,7 @@ GEM chroma (0.2.0) coderay (1.1.3) concurrent-ruby (1.3.5) - connection_pool (2.5.0) + connection_pool (2.5.1) crass (1.0.6) csv (3.3.3) date (3.4.1) @@ -206,18 +206,18 @@ GEM net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.18.4) + nokogiri (1.18.7) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.4-aarch64-linux-gnu) + nokogiri (1.18.7-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.4-arm-linux-gnu) + nokogiri (1.18.7-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.18.4-arm64-darwin) + nokogiri (1.18.7-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.4-x86_64-darwin) + nokogiri (1.18.7-x86_64-darwin) racc (~> 1.4) - nokogiri (1.18.4-x86_64-linux-gnu) + nokogiri (1.18.7-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) parallel (1.27.0) @@ -240,7 +240,7 @@ GEM nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) - rack (3.1.12) + rack (3.1.13) rack-cors (2.0.2) rack (>= 2.0.0) rack-session (2.0.0) @@ -293,7 +293,7 @@ GEM redis-client (0.23.2) connection_pool regexp_parser (2.10.0) - reline (0.6.0) + reline (0.6.1) io-console (~> 0.5) responders (3.1.1) actionpack (>= 5.2) @@ -368,7 +368,7 @@ GEM securerandom (0.4.1) shoulda-matchers (6.4.0) activesupport (>= 5.2.0) - solid_queue (1.1.4) + solid_queue (1.1.5) activejob (>= 7.1) activerecord (>= 7.1) concurrent-ruby (>= 1.3.1) @@ -384,7 +384,7 @@ GEM sprockets (>= 3.0.0) stimulus-rails (1.3.4) railties (>= 6.0.0) - stringio (3.1.5) + stringio (3.1.6) thor (1.3.2) tilt (2.4.0) timeout (0.4.3) @@ -491,7 +491,7 @@ CHECKSUMS chroma (0.2.0) sha256=64bdcd36a4765fbcd45adc64960cc153101300b4918f90ffdd89f4e2eb954b54 coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6 - connection_pool (2.5.0) sha256=233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc + connection_pool (2.5.1) sha256=ae802a90a4b5a081101b39d618e69921a9a50bea9ac3420a5b8c71f1befa3e9c crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d csv (3.3.3) sha256=7e2966befb7bdaf7d5e9b36e1de73e6a5e7a72f584f180a1726aec88a1b0a900 date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f @@ -543,12 +543,12 @@ CHECKSUMS net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8 net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736 nio4r (2.7.4) sha256=d95dee68e0bb251b8ff90ac3423a511e3b784124e5db7ff5f4813a220ae73ca9 - nokogiri (1.18.4) sha256=bb7820521c1bbae1d3e0092ff03b27a8e700912b37d80f962b7e4567947a64ac - nokogiri (1.18.4-aarch64-linux-gnu) sha256=8f2263cef9953ce09bd5293d76c9bbd3013d2f94d1cca67783dfe6635c529deb - nokogiri (1.18.4-arm-linux-gnu) sha256=cc2945e2c19560a61a97737e6bd3b329edb1f82ca204d46a18e5e98ad0a550a6 - nokogiri (1.18.4-arm64-darwin) sha256=73902663b23b1123282b9c0b6d9654b1fb286dfee8d65cb1f6029087b7f0d037 - nokogiri (1.18.4-x86_64-darwin) sha256=e4776f58eea9b94d05caf8bf351e3c6aa1cce01edcc2ed530f3c302c13178965 - nokogiri (1.18.4-x86_64-linux-gnu) sha256=b1c6407b346b88704e97a342a80acd4755175324e624da34d0c5cfdc8d34191e + nokogiri (1.18.7) sha256=6b63ff5defe48f30d1d3b3122f65255ca91df2caf5378c6e0482ce73ff46fb31 + nokogiri (1.18.7-aarch64-linux-gnu) sha256=57a064ab5440814a69a0e040817bd8154adea68a30d2ff2b3aa515a6a06dbb5f + nokogiri (1.18.7-arm-linux-gnu) sha256=337d9149deb5ae01022dff7c90f97bed81715fd586aacab0c5809ef933994c5e + nokogiri (1.18.7-arm64-darwin) sha256=083abb2e9ed2646860f6b481a981485a658c6064caafaa81bf1cda1bada2e9d5 + nokogiri (1.18.7-x86_64-darwin) sha256=081d1aa517454ba3415304e2ea51fe411d6a3a809490d0c4aa42799cada417b7 + nokogiri (1.18.7-x86_64-linux-gnu) sha256=3a0bf946eb2defde13d760f869b61bc8b0c18875afdd3cffa96543cfa3a18005 orm_adapter (0.5.0) sha256=aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9 parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130 parser (3.3.8.0) sha256=2476364142b307fa5a1b1ece44f260728be23858a9c71078e956131a75453c45 @@ -561,7 +561,7 @@ CHECKSUMS puma (6.6.0) sha256=f25c06873eb3d5de5f0a4ebc783acc81a4ccfe580c760cfe323497798018ad87 raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f - rack (3.1.12) sha256=00d83055c89273eb13679ab562767b8826955aa6c4371d7d161deb975c50c540 + rack (3.1.13) sha256=170c79db621882884d9a28d9cd5bd228c663fddcd367c4dea22c9a1808645792 rack-cors (2.0.2) sha256=415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b rack-session (2.0.0) sha256=db04b2063e180369192a9046b4559af311990af38c6a93d4c600cee4eb6d4e81 rack-test (2.1.0) sha256=0c61fc61904049d691922ea4bb99e28004ed3f43aa5cfd495024cc345f125dfb @@ -577,7 +577,7 @@ CHECKSUMS redis (5.4.0) sha256=798900d869418a9fc3977f916578375b45c38247a556b61d58cba6bb02f7d06b redis-client (0.23.2) sha256=e33bab6682c8155cfef95e6dd296936bb9c2981a89fb578ace27a076fa2836fa regexp_parser (2.10.0) sha256=cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61 - reline (0.6.0) sha256=57620375dcbe56ec09bac7192bfb7460c716bbf0054dc94345ecaa5438e539d2 + reline (0.6.1) sha256=1afcc9d7cb1029cdbe780d72f2f09251ce46d3780050f3ec39c3ccc6b60675fb responders (3.1.1) sha256=92f2a87e09028347368639cfb468f5fefa745cb0dc2377ef060db1cdd79a341a rexml (3.3.9) sha256=d71875b85299f341edf47d44df0212e7658cbdf35aeb69cefdb63f57af3137c9 rspec-core (3.13.3) sha256=25136507f4f9cf2e8977a2851e64e438b4331646054e345998714108745cdfe4 @@ -600,11 +600,11 @@ CHECKSUMS rubyzip (2.3.2) sha256=3f57e3935dc2255c414484fbf8d673b4909d8a6a57007ed754dde39342d2373f securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 shoulda-matchers (6.4.0) sha256=9055bb7f4bb342125fb860809798855c630e05ef5e75837b3168b8e6ee1608b0 - solid_queue (1.1.4) sha256=7b5b3395ec7ca8c131c71df9082e919ab7b5332684f6f686206f321d1c6b9f90 + solid_queue (1.1.5) sha256=bae0c9d76310f4953ebc57466f2e8c78703a0fbf4b89d25756c23c88f9b6df9b sprockets (4.2.1) sha256=951b13dd2f2fcae840a7184722689a803e0ff9d2702d902bd844b196da773f97 sprockets-rails (3.5.2) sha256=a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e stimulus-rails (1.3.4) sha256=765676ffa1f33af64ce026d26b48e8ffb2e0b94e0f50e9119e11d6107d67cb06 - stringio (3.1.5) sha256=bca92461515a131535743bc81d5559fa1de7d80cff9a654d6c0af6f9f27e35c8 + stringio (3.1.6) sha256=292c495d1657adfcdf0a32eecf12a60e6691317a500c3112ad3b2e31068274f5 thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda tilt (2.4.0) sha256=df74f29a451daed26591a85e8e0cebb198892cb75b6573394303acda273fba4d timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e From c5139a8a470fe3a5edefef7feb6ec66ce37509c2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 22 Apr 2025 02:04:41 +0000 Subject: [PATCH 31/88] Update dependency csv to v3.3.4 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cca6cac..f1aaa01 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -97,7 +97,7 @@ GEM concurrent-ruby (1.3.5) connection_pool (2.5.1) crass (1.0.6) - csv (3.3.3) + csv (3.3.4) date (3.4.1) debug (1.10.0) irb (~> 1.10) @@ -493,7 +493,7 @@ CHECKSUMS concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6 connection_pool (2.5.1) sha256=ae802a90a4b5a081101b39d618e69921a9a50bea9ac3420a5b8c71f1befa3e9c crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d - csv (3.3.3) sha256=7e2966befb7bdaf7d5e9b36e1de73e6a5e7a72f584f180a1726aec88a1b0a900 + csv (3.3.4) sha256=e96ecd5a8c3494aa5b596282249daba5c6033203c199248e6146e36d2a78d8cd date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f debug (1.10.0) sha256=11e28ca74875979e612444104f3972bd5ffb9e79179907d7ad46dba44bd2e7a4 devise (4.9.4) sha256=920042fe5e704c548aa4eb65ebdd65980b83ffae67feb32c697206bfd975a7f8 From fecbdb263ecd7bf08adbbdd78bda803eaee62eb7 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 23 Apr 2025 02:05:13 +0000 Subject: [PATCH 32/88] Update dependency rubocop to v1.75.3 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f1aaa01..e1be840 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -331,7 +331,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.75.2) + rubocop (1.75.3) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -589,7 +589,7 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.75.2) sha256=8efde647e278417e8074421b007e0d7d7c591482ef99d980528b18fea015a7c8 + rubocop (1.75.3) sha256=1860a1b571fe4a15dff79d6683642ebf3ea4b3f7ae7903743ab0885b4686a1d5 rubocop-ast (1.44.1) sha256=e3cc04203b2ef04f6d6cf5f85fe6d643f442b18cc3b23e3ada0ce5b6521b8e92 rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.31.0) sha256=79476e1075299c3e60fc50549c7c32614f9ebaae719b899ed75785c6786c52bd From 8cd4efc6f528327c2b05ef71f0cae8a5f8694e59 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 24 Apr 2025 02:06:21 +0000 Subject: [PATCH 33/88] Update dependency ruby to v3.4.3 --- Gemfile | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 5458ce8..9c3bbb6 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' -ruby '3.4.2' +ruby '3.4.3' gem 'bootsnap', require: false gem 'csv' gem 'importmap-rails' diff --git a/Gemfile.lock b/Gemfile.lock index e1be840..de88030 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -623,7 +623,7 @@ CHECKSUMS zeitwerk (2.7.2) sha256=842e067cb11eb923d747249badfb5fcdc9652d6f20a1f06453317920fdcd4673 RUBY VERSION - ruby 3.4.2p28 + ruby 3.4.3p32 BUNDLED WITH 2.6.1 From 918944b345bddd38577997b6b7ded1817ee2455f Mon Sep 17 00:00:00 2001 From: bustikiller Date: Fri, 25 Apr 2025 05:32:34 +0000 Subject: [PATCH 34/88] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index e1cc204..22e4142 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,12 @@ The backend service will seed the database with fake data. It's worth noting tha The backend, frontend and workers have hot-reloading enabled, so changes made to the codebase should be reflected in the application on the next request. +Please, include this in your `/etc/hosts` file: + +``` +127.0.0.1 libre-wedding-planner.app.localhost +``` + Once all containers have started, visit http://libre-wedding-planner.app.localhost/default/dashboard to load the application. ## Multitenancy From bf35ca5f6e256c5d2b94c2e3dc5a2e630aed1014 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Fri, 25 Apr 2025 07:38:17 +0200 Subject: [PATCH 35/88] Upgrade to ruby 3.4.3 --- .ruby-version | 2 +- Dockerfile | 2 +- Dockerfile.dev | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.ruby-version b/.ruby-version index a07bf72..753ec9c 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -ruby-3.4.2 +ruby-3.4.3 diff --git a/Dockerfile b/Dockerfile index e15f2f4..56042e5 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.4.2 +ARG RUBY_VERSION=3.4.3 FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim AS base # Rails app lives here diff --git a/Dockerfile.dev b/Dockerfile.dev index a13a506..f2a82ba 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -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.4.2 +ARG RUBY_VERSION=3.4.3 FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim as base # Rails app lives here From 52c7ed6eb161d845f2a275ca5e96d6739bd4d3ec Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 29 Apr 2025 02:04:53 +0000 Subject: [PATCH 36/88] Update dependency rubocop to v1.75.4 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e1be840..fedea67 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -331,7 +331,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.75.3) + rubocop (1.75.4) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -589,7 +589,7 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.75.3) sha256=1860a1b571fe4a15dff79d6683642ebf3ea4b3f7ae7903743ab0885b4686a1d5 + rubocop (1.75.4) sha256=e0656af44d0811bb40f6d0bd4ed6c8d80c0f05f3444f0e8f0839833dd46d18c6 rubocop-ast (1.44.1) sha256=e3cc04203b2ef04f6d6cf5f85fe6d643f442b18cc3b23e3ada0ce5b6521b8e92 rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.31.0) sha256=79476e1075299c3e60fc50549c7c32614f9ebaae719b899ed75785c6786c52bd From 252321461cc89342bd67b6b4242aecc827197236 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 30 Apr 2025 02:05:41 +0000 Subject: [PATCH 37/88] Update dependency shoulda-matchers to v6.5.0 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index fedea67..c4e6176 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -95,7 +95,7 @@ GEM chroma (0.2.0) coderay (1.1.3) concurrent-ruby (1.3.5) - connection_pool (2.5.1) + connection_pool (2.5.3) crass (1.0.6) csv (3.3.4) date (3.4.1) @@ -366,7 +366,7 @@ GEM json (~> 2.0, > 2.9) rubyzip (2.3.2) securerandom (0.4.1) - shoulda-matchers (6.4.0) + shoulda-matchers (6.5.0) activesupport (>= 5.2.0) solid_queue (1.1.5) activejob (>= 7.1) @@ -491,7 +491,7 @@ CHECKSUMS chroma (0.2.0) sha256=64bdcd36a4765fbcd45adc64960cc153101300b4918f90ffdd89f4e2eb954b54 coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6 - connection_pool (2.5.1) sha256=ae802a90a4b5a081101b39d618e69921a9a50bea9ac3420a5b8c71f1befa3e9c + connection_pool (2.5.3) sha256=cfd74a82b9b094d1ce30c4f1a346da23ee19dc8a062a16a85f58eab1ced4305b crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d csv (3.3.4) sha256=e96ecd5a8c3494aa5b596282249daba5c6033203c199248e6146e36d2a78d8cd date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f @@ -599,7 +599,7 @@ CHECKSUMS rubytree (2.1.1) sha256=4925016356a81730e982f1f8c3b5f8da461f18906c77d238bad4c4ba896abd41 rubyzip (2.3.2) sha256=3f57e3935dc2255c414484fbf8d673b4909d8a6a57007ed754dde39342d2373f securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 - shoulda-matchers (6.4.0) sha256=9055bb7f4bb342125fb860809798855c630e05ef5e75837b3168b8e6ee1608b0 + shoulda-matchers (6.5.0) sha256=ef6b572b2bed1ac4aba6ab2c5ff345a24b6d055a93a3d1c3bfc86d9d499e3f44 solid_queue (1.1.5) sha256=bae0c9d76310f4953ebc57466f2e8c78703a0fbf4b89d25756c23c88f9b6df9b sprockets (4.2.1) sha256=951b13dd2f2fcae840a7184722689a803e0ff9d2702d902bd844b196da773f97 sprockets-rails (3.5.2) sha256=a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e From be04c5c4417e7a4902b6e0b9ead2f9af70f9f124 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 6 May 2025 02:05:08 +0000 Subject: [PATCH 38/88] Update dependency rubocop to v1.75.5 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c4e6176..86d4c2b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -331,7 +331,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.75.4) + rubocop (1.75.5) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -589,7 +589,7 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.75.4) sha256=e0656af44d0811bb40f6d0bd4ed6c8d80c0f05f3444f0e8f0839833dd46d18c6 + rubocop (1.75.5) sha256=6ada7c8635023d81dace453da1e3a573455a277d49c3cba30813f32b423be97d rubocop-ast (1.44.1) sha256=e3cc04203b2ef04f6d6cf5f85fe6d643f442b18cc3b23e3ada0ce5b6521b8e92 rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.31.0) sha256=79476e1075299c3e60fc50549c7c32614f9ebaae719b899ed75785c6786c52bd From b5ed6a7280885357a354ab30fe50f9d18e568639 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 18 May 2025 02:07:50 +0000 Subject: [PATCH 39/88] Update dependency rubocop-rails to v2.32.0 --- Gemfile.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 86d4c2b..056bdff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -143,7 +143,7 @@ GEM jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - json (2.10.2) + json (2.12.0) json-schema (5.0.1) addressable (~> 2.8) jsonapi-deserializable (0.2.0) @@ -157,7 +157,7 @@ GEM jsonapi-renderer (0.2.2) jsonapi-serializable (0.3.1) jsonapi-renderer (~> 0.2.0) - language_server-protocol (3.17.0.4) + language_server-protocol (3.17.0.5) launchy (3.0.1) addressable (~> 2.8) childprocess (~> 5.0) @@ -240,7 +240,7 @@ GEM nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) - rack (3.1.13) + rack (3.1.14) rack-cors (2.0.2) rack (>= 2.0.0) rack-session (2.0.0) @@ -331,7 +331,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.75.5) + rubocop (1.75.6) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -348,12 +348,12 @@ GEM rubocop-factory_bot (2.27.1) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) - rubocop-rails (2.31.0) + rubocop-rails (2.32.0) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) rubocop (>= 1.75.0, < 2.0) - rubocop-ast (>= 1.38.0, < 2.0) + rubocop-ast (>= 1.44.0, < 2.0) rubocop-rspec (3.6.0) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) @@ -513,7 +513,7 @@ CHECKSUMS io-console (0.8.0) sha256=cd6a9facbc69871d69b2cb8b926fc6ea7ef06f06e505e81a64f14a470fddefa2 irb (1.14.3) sha256=c457f1f2f1438ae9ce5c5be3981ae2138dec7fb894c7d73777eeeb0a6c0d0752 jbuilder (2.13.0) sha256=7200a38a1c0081aa81b7a9757e7a299db75bc58cf1fd45ca7919a91627d227d6 - json (2.10.2) sha256=34e0eada93022b2a0a3345bb0b5efddb6e9ff5be7c48e409cfb54ff8a36a8b06 + json (2.12.0) sha256=b30fce000756de94c756679c7e57ed41f03f8cc8dde2d2dc00a7c44005da0a50 json-schema (5.0.1) sha256=bef71a82c600a42594911553522e143f7634affc198ed507ef3ded2f920a74a9 jsonapi-deserializable (0.2.0) sha256=5f0ca2d3f8404cce1584a314e8a3753be32a56054c942adfe997b87e92bce147 jsonapi-parser (0.1.1) sha256=9ee0dc031e88fc7548d56fab66f9716d1e1c06f972b529b8c4617bc42a097020 @@ -521,7 +521,7 @@ CHECKSUMS jsonapi-rb (0.5.0) sha256=7922a164278f506c43d56277f6bd0800a0b603cc985f7f63fe7241b2628bd105 jsonapi-renderer (0.2.2) sha256=b5c44b033d61b4abdb6500fa4ab84807ca0b36ea0e59e47a2c3ca7095a6e447b jsonapi-serializable (0.3.1) sha256=221e657677659d798e268a33ec97a83ec5ea0e4233f931358db84e88056552e9 - language_server-protocol (3.17.0.4) sha256=c484626478664fd13482d8180947c50a8590484b1258b99b7aedb3b69df89669 + language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc launchy (3.0.1) sha256=b7fa60bda0197cf57614e271a250a8ca1f6a34ab889a3c73f67ec5d57c8a7f2c letter_opener (1.10.0) sha256=2ff33f2e3b5c3c26d1959be54b395c086ca6d44826e8bf41a14ff96fdf1bdbb2 letter_opener_web (3.0.0) sha256=3f391efe0e8b9b24becfab5537dfb17a5cf5eb532038f947daab58cb4b749860 @@ -561,7 +561,7 @@ CHECKSUMS puma (6.6.0) sha256=f25c06873eb3d5de5f0a4ebc783acc81a4ccfe580c760cfe323497798018ad87 raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f - rack (3.1.13) sha256=170c79db621882884d9a28d9cd5bd228c663fddcd367c4dea22c9a1808645792 + rack (3.1.14) sha256=84613c2a8df193bb6711d9c14ecc6d5a65a7cb4312379a65e793562608944b44 rack-cors (2.0.2) sha256=415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b rack-session (2.0.0) sha256=db04b2063e180369192a9046b4559af311990af38c6a93d4c600cee4eb6d4e81 rack-test (2.1.0) sha256=0c61fc61904049d691922ea4bb99e28004ed3f43aa5cfd495024cc345f125dfb @@ -589,10 +589,10 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.75.5) sha256=6ada7c8635023d81dace453da1e3a573455a277d49c3cba30813f32b423be97d + rubocop (1.75.6) sha256=1c6c6621b2e76f89999b2f0c0adcced88a273a71e6b8667320b5f509422de262 rubocop-ast (1.44.1) sha256=e3cc04203b2ef04f6d6cf5f85fe6d643f442b18cc3b23e3ada0ce5b6521b8e92 rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe - rubocop-rails (2.31.0) sha256=79476e1075299c3e60fc50549c7c32614f9ebaae719b899ed75785c6786c52bd + rubocop-rails (2.32.0) sha256=9fcc623c8722fe71e835e99c4a18b740b5b0d3fb69915d7f0777f00794b30490 rubocop-rspec (3.6.0) sha256=c0e4205871776727e54dee9cc91af5fd74578001551ba40e1fe1a1ab4b404479 rubocop-rspec_rails (2.31.0) sha256=775375e18a26a1184a812ef3054b79d218e85601b9ae897f38f8be24dddf1f45 ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 From 36345ea74cf623daa7861f2eabe33fc5b0bd2a7b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 19 May 2025 02:04:57 +0000 Subject: [PATCH 40/88] Update dependency bootsnap to v1.18.6 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 056bdff..7b8aa21 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -87,7 +87,7 @@ GEM benchmark (0.4.0) bigdecimal (3.1.9) bindex (0.8.1) - bootsnap (1.18.4) + bootsnap (1.18.6) msgpack (~> 1.2) builder (3.3.0) childprocess (5.1.0) @@ -193,7 +193,7 @@ GEM minitest (5.25.5) money (6.19.0) i18n (>= 0.6.4, <= 2) - msgpack (1.7.2) + msgpack (1.7.5) multi_xml (0.7.1) bigdecimal (~> 3.1) net-imap (0.5.6) @@ -485,7 +485,7 @@ CHECKSUMS benchmark (0.4.0) sha256=0f12f8c495545e3710c3e4f0480f63f06b4c842cc94cec7f33a956f5180e874a bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc bindex (0.8.1) sha256=7b1ecc9dc539ed8bccfc8cb4d2732046227b09d6f37582ff12e50a5047ceb17e - bootsnap (1.18.4) sha256=ac4c42af397f7ee15521820198daeff545e4c360d2772c601fbdc2c07d92af55 + bootsnap (1.18.6) sha256=0ae2393c1e911e38be0f24e9173e7be570c3650128251bf06240046f84a07d00 builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f childprocess (5.1.0) sha256=9a8d484be2fd4096a0e90a0cd3e449a05bc3aa33f8ac9e4d6dcef6ac1455b6ec chroma (0.2.0) sha256=64bdcd36a4765fbcd45adc64960cc153101300b4918f90ffdd89f4e2eb954b54 @@ -536,7 +536,7 @@ CHECKSUMS mini_portile2 (2.8.8) sha256=8e47136cdac04ce81750bb6c09733b37895bf06962554e4b4056d78168d70a75 minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756 money (6.19.0) sha256=ec936fa1e42f2783719241ed9fd52725d0efa628f928feea1eb5c37d5de7daf3 - msgpack (1.7.2) sha256=59ab62fd8a4d0dfbde45009f87eb6f158ab2628a7c48886b0256f175166baaa8 + msgpack (1.7.5) sha256=ffb04979f51e6406823c03abe50e1da2c825c55a37dee138518cdd09d9d3aea8 multi_xml (0.7.1) sha256=4fce100c68af588ff91b8ba90a0bb3f0466f06c909f21a32f4962059140ba61b net-imap (0.5.6) sha256=1ede8048ee688a14206060bf37a716d18cb6ea00855f6c9b15daee97ee51fbe5 net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3 From bbe9983070c2a0db24d6bfc61970c00ef8aad38c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 29 May 2025 02:06:28 +0000 Subject: [PATCH 41/88] Update dependency rubocop to v1.75.8 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7b8aa21..f59b7ff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -143,7 +143,7 @@ GEM jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - json (2.12.0) + json (2.12.2) json-schema (5.0.1) addressable (~> 2.8) jsonapi-deserializable (0.2.0) @@ -331,7 +331,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.75.6) + rubocop (1.75.8) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -513,7 +513,7 @@ CHECKSUMS io-console (0.8.0) sha256=cd6a9facbc69871d69b2cb8b926fc6ea7ef06f06e505e81a64f14a470fddefa2 irb (1.14.3) sha256=c457f1f2f1438ae9ce5c5be3981ae2138dec7fb894c7d73777eeeb0a6c0d0752 jbuilder (2.13.0) sha256=7200a38a1c0081aa81b7a9757e7a299db75bc58cf1fd45ca7919a91627d227d6 - json (2.12.0) sha256=b30fce000756de94c756679c7e57ed41f03f8cc8dde2d2dc00a7c44005da0a50 + json (2.12.2) sha256=ba94a48ad265605c8fa9a50a5892f3ba6a02661aa010f638211f3cb36f44abf4 json-schema (5.0.1) sha256=bef71a82c600a42594911553522e143f7634affc198ed507ef3ded2f920a74a9 jsonapi-deserializable (0.2.0) sha256=5f0ca2d3f8404cce1584a314e8a3753be32a56054c942adfe997b87e92bce147 jsonapi-parser (0.1.1) sha256=9ee0dc031e88fc7548d56fab66f9716d1e1c06f972b529b8c4617bc42a097020 @@ -589,7 +589,7 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.75.6) sha256=1c6c6621b2e76f89999b2f0c0adcced88a273a71e6b8667320b5f509422de262 + rubocop (1.75.8) sha256=c80ab4286c5dcfc49d7ad1787cdba5569b63b58c96ee7afde4ec47a9c8a85be9 rubocop-ast (1.44.1) sha256=e3cc04203b2ef04f6d6cf5f85fe6d643f442b18cc3b23e3ada0ce5b6521b8e92 rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.32.0) sha256=9fcc623c8722fe71e835e99c4a18b740b5b0d3fb69915d7f0777f00794b30490 From c5e1c2aef10c4301b269637424b769d57b708755 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 31 May 2025 02:05:00 +0000 Subject: [PATCH 42/88] Update dependency annotaterb to v4.15.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f59b7ff..cbeeb5c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,7 +76,7 @@ GEM rails (>= 6.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - annotaterb (4.14.0) + annotaterb (4.15.0) ast (2.4.3) babel-source (5.8.35) babel-transpiler (0.7.0) @@ -476,7 +476,7 @@ CHECKSUMS activesupport (8.0.2) sha256=8565cddba31b900cdc17682fd66ecd020441e3eef320a9930285394e8c07a45e acts_as_tenant (1.0.1) sha256=6944e4d64533337938a8817a6b4ff9b11189c9dcc0b1333bb89f3821a4c14c53 addressable (2.8.7) sha256=462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232 - annotaterb (4.14.0) sha256=466cf28443416a19754c807cb2acb9370c75a6a2bc3b92d3c4bbc02a38d00975 + annotaterb (4.15.0) sha256=fb871b5a3f96d1a3195ab0f0f51adb9105ab00492f10e97dd6f35d321e3410b0 ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383 babel-source (5.8.35) sha256=79ef222a9dcb867ac2efa3b0da35b4bcb15a4bfa67b6b2dcbf1e9a29104498d9 babel-transpiler (0.7.0) sha256=4c06f4ad9e8e1cabe94f99e11df2f140bb72aca9ba067dbb49dc14d9b98d1570 From 46bd0d71bd3f4fe465f16b98c349b0d372f50253 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 1 Jun 2025 02:06:04 +0000 Subject: [PATCH 43/88] Update dependency csv to v3.3.5 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cbeeb5c..f6a4a47 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -97,7 +97,7 @@ GEM concurrent-ruby (1.3.5) connection_pool (2.5.3) crass (1.0.6) - csv (3.3.4) + csv (3.3.5) date (3.4.1) debug (1.10.0) irb (~> 1.10) @@ -493,7 +493,7 @@ CHECKSUMS concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6 connection_pool (2.5.3) sha256=cfd74a82b9b094d1ce30c4f1a346da23ee19dc8a062a16a85f58eab1ced4305b crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d - csv (3.3.4) sha256=e96ecd5a8c3494aa5b596282249daba5c6033203c199248e6146e36d2a78d8cd + csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f debug (1.10.0) sha256=11e28ca74875979e612444104f3972bd5ffb9e79179907d7ad46dba44bd2e7a4 devise (4.9.4) sha256=920042fe5e704c548aa4eb65ebdd65980b83ffae67feb32c697206bfd975a7f8 From bd1ff7f92d0ee6c04c7af54bbf956df47f6f5c7b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 1 Jun 2025 02:06:39 +0000 Subject: [PATCH 44/88] Update dependency rspec-rails to v8 --- Gemfile | 2 +- Gemfile.lock | 130 +++++++++++++++++++++++++++------------------------ 2 files changed, 71 insertions(+), 61 deletions(-) diff --git a/Gemfile b/Gemfile index 5458ce8..87e3600 100644 --- a/Gemfile +++ b/Gemfile @@ -33,7 +33,7 @@ group :development, :test do gem 'factory_bot_rails' gem 'license_finder' gem 'pry' - gem 'rspec-rails', '~> 7.1.0' + gem 'rspec-rails', '~> 8.0.0' gem 'shoulda-matchers', '~> 6.0' end diff --git a/Gemfile.lock b/Gemfile.lock index cbeeb5c..9a730a9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -82,10 +82,10 @@ GEM babel-transpiler (0.7.0) babel-source (>= 4.0, < 6) execjs (~> 2.0) - base64 (0.2.0) + base64 (0.3.0) bcrypt (3.1.20) - benchmark (0.4.0) - bigdecimal (3.1.9) + benchmark (0.4.1) + bigdecimal (3.2.1) bindex (0.8.1) bootsnap (1.18.6) msgpack (~> 1.2) @@ -108,8 +108,9 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - diff-lcs (1.5.1) - drb (2.2.1) + diff-lcs (1.6.2) + drb (2.2.3) + erb (5.0.1) erubi (1.13.1) et-orbi (1.2.11) tzinfo @@ -137,7 +138,8 @@ GEM activesupport (>= 6.0.0) railties (>= 6.0.0) io-console (0.8.0) - irb (1.14.3) + irb (1.15.2) + pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) jbuilder (2.13.0) @@ -178,7 +180,7 @@ GEM xml-simple (~> 1.1.9) lint_roller (1.1.0) logger (1.7.0) - loofah (2.23.1) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -189,7 +191,7 @@ GEM marcel (1.0.4) method_source (1.1.0) mini_mime (1.1.5) - mini_portile2 (2.8.8) + mini_portile2 (2.8.9) minitest (5.25.5) money (6.19.0) i18n (>= 0.6.4, <= 2) @@ -206,18 +208,18 @@ GEM net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.18.7) + nokogiri (1.18.8) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.7-aarch64-linux-gnu) + nokogiri (1.18.8-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.7-arm-linux-gnu) + nokogiri (1.18.8-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.18.7-arm64-darwin) + nokogiri (1.18.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.7-x86_64-darwin) + nokogiri (1.18.8-x86_64-darwin) racc (~> 1.4) - nokogiri (1.18.7-x86_64-linux-gnu) + nokogiri (1.18.8-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) parallel (1.27.0) @@ -228,11 +230,14 @@ GEM pluck_to_hash (1.0.2) activerecord (>= 4.0.2) activesupport (>= 4.0.2) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) prism (1.4.0) pry (0.15.2) coderay (~> 1.1) method_source (~> 1.0) - psych (5.2.3) + psych (5.2.6) date stringio public_suffix (6.0.1) @@ -240,12 +245,13 @@ GEM nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) - rack (3.1.14) + rack (3.1.15) rack-cors (2.0.2) rack (>= 2.0.0) - rack-session (2.0.0) + rack-session (2.1.1) + base64 (>= 0.1.0) rack (>= 3.0.0) - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) rackup (2.2.1) rack (>= 3) @@ -263,7 +269,7 @@ GEM activesupport (= 8.0.2) bundler (>= 1.15.0) railties (= 8.0.2) - rails-dom-testing (2.2.0) + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) @@ -279,8 +285,9 @@ GEM thor (~> 1.0, >= 1.2.2) zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.2.1) - rdoc (6.10.0) + rake (13.3.0) + rdoc (6.14.0) + erb psych (>= 4.0.0) react-rails (3.2.1) babel-transpiler (>= 0.7.0) @@ -299,23 +306,23 @@ GEM actionpack (>= 5.2) railties (>= 5.2) rexml (3.3.9) - rspec-core (3.13.3) + rspec-core (3.13.4) 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.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.1.1) - actionpack (>= 7.0) - activesupport (>= 7.0) - railties (>= 7.0) + rspec-rails (8.0.0) + actionpack (>= 7.2) + activesupport (>= 7.2) + railties (>= 7.2) rspec-core (~> 3.13) rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.2) + rspec-support (3.13.4) rswag (2.16.0) rswag-api (= 2.16.0) rswag-specs (= 2.16.0) @@ -384,7 +391,7 @@ GEM sprockets (>= 3.0.0) stimulus-rails (1.3.4) railties (>= 6.0.0) - stringio (3.1.6) + stringio (3.1.7) thor (1.3.2) tilt (2.4.0) timeout (0.4.3) @@ -411,7 +418,7 @@ GEM with_env (1.1.0) xml-simple (1.1.9) rexml - zeitwerk (2.7.2) + zeitwerk (2.7.3) PLATFORMS aarch64-linux @@ -446,7 +453,7 @@ DEPENDENCIES rails (~> 8.0.0, >= 8.0.0) react-rails redis (>= 4.0.1) - rspec-rails (~> 7.1.0) + rspec-rails (~> 8.0.0) rswag rubocop rubocop-factory_bot @@ -480,10 +487,10 @@ CHECKSUMS ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383 babel-source (5.8.35) sha256=79ef222a9dcb867ac2efa3b0da35b4bcb15a4bfa67b6b2dcbf1e9a29104498d9 babel-transpiler (0.7.0) sha256=4c06f4ad9e8e1cabe94f99e11df2f140bb72aca9ba067dbb49dc14d9b98d1570 - base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507 + base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b bcrypt (3.1.20) sha256=8410f8c7b3ed54a3c00cd2456bf13917d695117f033218e2483b2e40b0784099 - benchmark (0.4.0) sha256=0f12f8c495545e3710c3e4f0480f63f06b4c842cc94cec7f33a956f5180e874a - bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc + benchmark (0.4.1) sha256=d4ef40037bba27f03b28013e219b950b82bace296549ec15a78016552f8d2cce + bigdecimal (3.2.1) sha256=1f68631e876c6aba8fe9b84b36983c55ad3293ff2d1ad4c6f115bde1e9d802e3 bindex (0.8.1) sha256=7b1ecc9dc539ed8bccfc8cb4d2732046227b09d6f37582ff12e50a5047ceb17e bootsnap (1.18.6) sha256=0ae2393c1e911e38be0f24e9173e7be570c3650128251bf06240046f84a07d00 builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f @@ -497,8 +504,9 @@ CHECKSUMS date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f debug (1.10.0) sha256=11e28ca74875979e612444104f3972bd5ffb9e79179907d7ad46dba44bd2e7a4 devise (4.9.4) sha256=920042fe5e704c548aa4eb65ebdd65980b83ffae67feb32c697206bfd975a7f8 - diff-lcs (1.5.1) sha256=273223dfb40685548436d32b4733aa67351769c7dea621da7d9dd4813e63ddfe - drb (2.2.1) sha256=e9d472bf785f558b96b25358bae115646da0dbfd45107ad858b0bc0d935cb340 + diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962 + drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373 + erb (5.0.1) sha256=760439803b36cc93eca8a266aab614614e588024a89bc30a62e78d98ff452c23 erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9 et-orbi (1.2.11) sha256=d26e868cc21db88280a9ec1a50aa3da5d267eb9b2037ba7b831d6c2731f5df64 execjs (2.9.1) sha256=e8fd066f6df60c8e8fbebc32c6fb356b5212c77374e8416a9019ca4bb154dcfb @@ -511,7 +519,7 @@ CHECKSUMS i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f importmap-rails (2.1.0) sha256=9f10c67d60651a547579f448100d033df311c5d5db578301374aeb774faae741 io-console (0.8.0) sha256=cd6a9facbc69871d69b2cb8b926fc6ea7ef06f06e505e81a64f14a470fddefa2 - irb (1.14.3) sha256=c457f1f2f1438ae9ce5c5be3981ae2138dec7fb894c7d73777eeeb0a6c0d0752 + irb (1.15.2) sha256=222f32952e278da34b58ffe45e8634bf4afc2dc7aa9da23fed67e581aa50fdba jbuilder (2.13.0) sha256=7200a38a1c0081aa81b7a9757e7a299db75bc58cf1fd45ca7919a91627d227d6 json (2.12.2) sha256=ba94a48ad265605c8fa9a50a5892f3ba6a02661aa010f638211f3cb36f44abf4 json-schema (5.0.1) sha256=bef71a82c600a42594911553522e143f7634affc198ed507ef3ded2f920a74a9 @@ -528,12 +536,12 @@ CHECKSUMS license_finder (7.2.1) sha256=179ead19b64b170638b72fd16024233813673ac9d20d5ba75ae0b4444887ef14 lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87 logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203 - loofah (2.23.1) sha256=d0a07422cb3b69272e124afa914ef6d517e30d5496b7f1c1fc5b95481f13f75e + loofah (2.24.1) sha256=655a30842b70ec476410b347ab1cd2a5b92da46a19044357bbd9f401b009a337 mail (2.8.1) sha256=ec3b9fadcf2b3755c78785cb17bc9a0ca9ee9857108a64b6f5cfc9c0b5bfc9ad marcel (1.0.4) sha256=0d5649feb64b8f19f3d3468b96c680bae9746335d02194270287868a661516a4 method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5 mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef - mini_portile2 (2.8.8) sha256=8e47136cdac04ce81750bb6c09733b37895bf06962554e4b4056d78168d70a75 + mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289 minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756 money (6.19.0) sha256=ec936fa1e42f2783719241ed9fd52725d0efa628f928feea1eb5c37d5de7daf3 msgpack (1.7.5) sha256=ffb04979f51e6406823c03abe50e1da2c825c55a37dee138518cdd09d9d3aea8 @@ -543,36 +551,38 @@ CHECKSUMS net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8 net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736 nio4r (2.7.4) sha256=d95dee68e0bb251b8ff90ac3423a511e3b784124e5db7ff5f4813a220ae73ca9 - nokogiri (1.18.7) sha256=6b63ff5defe48f30d1d3b3122f65255ca91df2caf5378c6e0482ce73ff46fb31 - nokogiri (1.18.7-aarch64-linux-gnu) sha256=57a064ab5440814a69a0e040817bd8154adea68a30d2ff2b3aa515a6a06dbb5f - nokogiri (1.18.7-arm-linux-gnu) sha256=337d9149deb5ae01022dff7c90f97bed81715fd586aacab0c5809ef933994c5e - nokogiri (1.18.7-arm64-darwin) sha256=083abb2e9ed2646860f6b481a981485a658c6064caafaa81bf1cda1bada2e9d5 - nokogiri (1.18.7-x86_64-darwin) sha256=081d1aa517454ba3415304e2ea51fe411d6a3a809490d0c4aa42799cada417b7 - nokogiri (1.18.7-x86_64-linux-gnu) sha256=3a0bf946eb2defde13d760f869b61bc8b0c18875afdd3cffa96543cfa3a18005 + nokogiri (1.18.8) sha256=8c7464875d9ca7f71080c24c0db7bcaa3940e8be3c6fc4bcebccf8b9a0016365 + nokogiri (1.18.8-aarch64-linux-gnu) sha256=36badd2eb281fca6214a5188e24a34399b15d89730639a068d12931e2adc210e + nokogiri (1.18.8-arm-linux-gnu) sha256=17de01ca3adf9f8e187883ed73c672344d3dbb3c260f88ffa1008e8dc255a28e + nokogiri (1.18.8-arm64-darwin) sha256=483b5b9fb33653f6f05cbe00d09ea315f268f0e707cfc809aa39b62993008212 + nokogiri (1.18.8-x86_64-darwin) sha256=024cdfe7d9ae3466bba6c06f348fb2a8395d9426b66a3c82f1961b907945cc0c + nokogiri (1.18.8-x86_64-linux-gnu) sha256=4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc orm_adapter (0.5.0) sha256=aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9 parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130 parser (3.3.8.0) sha256=2476364142b307fa5a1b1ece44f260728be23858a9c71078e956131a75453c45 pg (1.5.9) sha256=761efbdf73b66516f0c26fcbe6515dc7500c3f0aa1a1b853feae245433c64fdc pluck_to_hash (1.0.2) sha256=1599906239716f98262a41493dd7d4cb72e8d83ad3d76d666deacfc5de50a47e + pp (0.6.2) sha256=947ec3120c6f92195f8ee8aa25a7b2c5297bb106d83b41baa02983686577b6ff + prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193 prism (1.4.0) sha256=dc0e3e00e93160213dc2a65519d9002a4a1e7b962db57d444cf1a71565bb703e pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b - psych (5.2.3) sha256=84a54bb952d14604fea22d99938348814678782f58b12648fcdfa4d2fce859ee + psych (5.2.6) sha256=814328aa5dcb6d604d32126a20bc1cbcf05521a5b49dbb1a8b30a07e580f316e public_suffix (6.0.1) sha256=61d44e1cab5cbbbe5b31068481cf16976dd0dc1b6b07bd95617ef8c5e3e00c6f puma (6.6.0) sha256=f25c06873eb3d5de5f0a4ebc783acc81a4ccfe580c760cfe323497798018ad87 raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f - rack (3.1.14) sha256=84613c2a8df193bb6711d9c14ecc6d5a65a7cb4312379a65e793562608944b44 + rack (3.1.15) sha256=d12b3e9960d18a26ded961250f2c0e3b375b49ff40dbe6786e9c3b160cbffca4 rack-cors (2.0.2) sha256=415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b - rack-session (2.0.0) sha256=db04b2063e180369192a9046b4559af311990af38c6a93d4c600cee4eb6d4e81 - rack-test (2.1.0) sha256=0c61fc61904049d691922ea4bb99e28004ed3f43aa5cfd495024cc345f125dfb + rack-session (2.1.1) sha256=0b6dc07dea7e4b583f58a48e8b806d4c9f1c6c9214ebc202ec94562cbea2e4e9 + rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463 rackup (2.2.1) sha256=f737191fd5c5b348b7f0a4412a3b86383f88c43e13b8217b63d4c8d90b9e798d rails (8.0.2) sha256=fdfaa5a83ec0388e02864e88d515959caedc88053b5f701c4deb1652d8f164c6 - rails-dom-testing (2.2.0) sha256=e515712e48df1f687a1d7c380fd7b07b8558faa26464474da64183a7426fa93b + rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560 railties (8.0.2) sha256=0d7c3f40c49ba74980f1bac1d4bb153a9331c5ee8a9631d89c7bf79db82e5cf9 rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a - rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d - rdoc (6.10.0) sha256=db665021883ac9df3ba29cdf71aece960749888db1bf9615b4a584cfa3fa3eda + rake (13.3.0) sha256=96f5092d786ff412c62fde76f793cc0541bd84d2eb579caa529aa8a059934493 + rdoc (6.14.0) sha256=2c46de58d7129b8743fcf6d76e3db971bdc914150e15ac06b386549bd82ed7db react-rails (3.2.1) sha256=2235db0b240517596b1cb3e26177ab5bc64d3a56579b0415ee242b1691f81f64 redis (5.4.0) sha256=798900d869418a9fc3977f916578375b45c38247a556b61d58cba6bb02f7d06b redis-client (0.23.2) sha256=e33bab6682c8155cfef95e6dd296936bb9c2981a89fb578ace27a076fa2836fa @@ -580,11 +590,11 @@ CHECKSUMS reline (0.6.1) sha256=1afcc9d7cb1029cdbe780d72f2f09251ce46d3780050f3ec39c3ccc6b60675fb responders (3.1.1) sha256=92f2a87e09028347368639cfb468f5fefa745cb0dc2377ef060db1cdd79a341a rexml (3.3.9) sha256=d71875b85299f341edf47d44df0212e7658cbdf35aeb69cefdb63f57af3137c9 - rspec-core (3.13.3) sha256=25136507f4f9cf2e8977a2851e64e438b4331646054e345998714108745cdfe4 - rspec-expectations (3.13.3) sha256=0e6b5af59b900147698ea0ff80456c4f2e69cac4394fbd392fbd1ca561f66c58 - rspec-mocks (3.13.2) sha256=2327335def0e1665325a9b617e3af9ae20272741d80ac550336309a7c59abdef - rspec-rails (7.1.1) sha256=e15dccabed211e2fd92f21330c819adcbeb1591c1d66c580d8f2d8288557e331 - rspec-support (3.13.2) sha256=cea3a2463fd9b84b9dcc9685efd80ea701aa8f7b3decb3b3ce795ed67737dbec + rspec-core (3.13.4) sha256=f9da156b7b775c82610a7b580624df51a55102f8c8e4a103b98f5d7a9fa23958 + rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836 + rspec-mocks (3.13.5) sha256=e4338a6f285ada9fe56f5893f5457783af8194f5d08884d17a87321d5195ea81 + rspec-rails (8.0.0) sha256=977a508cd94d152db2068c6585470db5d0cd47eef56d5410b9531034fb9d97bf + rspec-support (3.13.4) sha256=184b1814f6a968102b57df631892c7f1990a91c9a3b9e80ef892a0fc2a71a3f7 rswag (2.16.0) sha256=f07ce41548b9bb51464c38bc7b95af22fee84b90f2d1197a515a623906353086 rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 @@ -604,7 +614,7 @@ CHECKSUMS sprockets (4.2.1) sha256=951b13dd2f2fcae840a7184722689a803e0ff9d2702d902bd844b196da773f97 sprockets-rails (3.5.2) sha256=a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e stimulus-rails (1.3.4) sha256=765676ffa1f33af64ce026d26b48e8ffb2e0b94e0f50e9119e11d6107d67cb06 - stringio (3.1.6) sha256=292c495d1657adfcdf0a32eecf12a60e6691317a500c3112ad3b2e31068274f5 + stringio (3.1.7) sha256=5b78b7cb242a315fb4fca61a8255d62ec438f58da2b90be66048546ade4507fa thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda tilt (2.4.0) sha256=df74f29a451daed26591a85e8e0cebb198892cb75b6573394303acda273fba4d timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e @@ -620,7 +630,7 @@ CHECKSUMS websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241 with_env (1.1.0) sha256=50b3e4f0a6cda8f90d8a6bd87a6261f6c381429abafb161c4c69ad4a0cd0b6e4 xml-simple (1.1.9) sha256=d21131e519c86f1a5bc2b6d2d57d46e6998e47f18ed249b25cad86433dbd695d - zeitwerk (2.7.2) sha256=842e067cb11eb923d747249badfb5fcdc9652d6f20a1f06453317920fdcd4673 + zeitwerk (2.7.3) sha256=b2e86b4a9b57d26ba68a15230dcc7fe6f040f06831ce64417b0621ad96ba3e85 RUBY VERSION ruby 3.4.2p28 From 5fb26f42d65fadef105a0e3862a440f6798f4a83 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 1 Jun 2025 17:58:27 +0200 Subject: [PATCH 45/88] Define a controller for invitations --- .gitignore | 1 + app/controllers/invitations_controller.rb | 42 +++++++++++++++++++++++ app/models/wedding.rb | 2 ++ config/routes.rb | 1 + db/seeds.rb | 3 ++ 5 files changed, 49 insertions(+) create mode 100644 app/controllers/invitations_controller.rb diff --git a/.gitignore b/.gitignore index 13e3051..945067b 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ # Ignore swagger generated documentation swagger/v1/swagger.yaml +wedding-planner.code-workspace diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb new file mode 100644 index 0000000..0dac059 --- /dev/null +++ b/app/controllers/invitations_controller.rb @@ -0,0 +1,42 @@ +class InvitationsController < ApplicationController + def index + render json: Invitation.includes(:guests).as_json( + only: :id, + include: { + guests: { + only: %i[id name] + } + } + ) + end + + def create + invitation = Invitation.create + + if invitation.persisted? + render json: invitation, only: :id, status: :created + else + render json: { errors: invitation.errors.full_messages }, status: :unprocessable_entity + end + end + + def update + invitation = Invitation.find(params[:id]) + + if invitation.update(guest_ids: params[:invitation][:guest_ids]) + render json: invitation, only: :id, include: { guests: { only: %i[id name] } }, status: :ok + else + render json: { errors: invitation.errors.full_messages }, status: :unprocessable_entity + end + end + + def destroy + invitation = Invitation.find(params[:id]) + + if invitation.destroy + head :no_content + else + render json: { errors: invitation.errors.full_messages }, status: :unprocessable_entity + end + end +end diff --git a/app/models/wedding.rb b/app/models/wedding.rb index 5f0dabf..e9bed42 100644 --- a/app/models/wedding.rb +++ b/app/models/wedding.rb @@ -21,4 +21,6 @@ class Wedding < ApplicationRecord validates :slug, presence: true, uniqueness: true, format: { with: /\A#{SLUG_REGEX}\z/ } has_many :guests, dependent: :delete_all + has_many :groups, dependent: :delete_all + has_many :invitations, dependent: :delete_all end diff --git a/config/routes.rb b/config/routes.rb index 39d0460..a4b7897 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -39,6 +39,7 @@ Rails.application.routes.draw do end resources :tables_arrangements, only: %i[index show create] resources :summary, only: :index + resources :invitations, only: %i[index create update destroy] root to: redirect("/%{slug}") end diff --git a/db/seeds.rb b/db/seeds.rb index a693f64..f69b6e9 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -5,6 +5,7 @@ NUMBER_OF_GUESTS = 200 ActsAsTenant.without_tenant do + GroupAffinity.delete_all Wedding.delete_all end @@ -78,6 +79,8 @@ ActsAsTenant.with_tenant(wedding) do guests.shift(rand(1..3)).each do |guest| guest.update!(invitation:) end + guests.shift(1) if rand < 0.3 # Leave a percentage of guests without an invitation + end end From 622128a29a475da66c738db6cda7a27c1c95b505 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 1 Jun 2025 15:59:18 +0000 Subject: [PATCH 46/88] Add copyright notice --- app/controllers/invitations_controller.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index 0dac059..8a85d09 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + class InvitationsController < ApplicationController def index render json: Invitation.includes(:guests).as_json( From 0a2cf6a5ebdd54b24c03c01f60d899eabc00e1df Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 1 Jun 2025 17:59:50 +0200 Subject: [PATCH 47/88] Remove unnecessary param --- app/controllers/guests_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/guests_controller.rb b/app/controllers/guests_controller.rb index 78cd2a6..1d872fa 100644 --- a/app/controllers/guests_controller.rb +++ b/app/controllers/guests_controller.rb @@ -9,7 +9,7 @@ class GuestsController < ApplicationController render json: Guest.includes(:group) .left_joins(:group) .order('groups.name' => :asc, name: :asc) - .as_json(only: %i[id name status invitation_id], include: { group: { only: %i[id name] } }) + .as_json(only: %i[id name status], include: { group: { only: %i[id name] } }) end def create From 27ce9cac62571992fe10114498bbaa8f0af88438 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 1 Jun 2025 19:51:08 +0200 Subject: [PATCH 48/88] Fix rubocop ofenses --- app/controllers/invitations_controller.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index 8a85d09..d280a7e 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Copyright (C) 2024-2025 LibreWeddingPlanner contributors class InvitationsController < ApplicationController From 11f98bd7123ec6b91f207c5039df611055d4a815 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 1 Jun 2025 17:51:49 +0000 Subject: [PATCH 49/88] Add copyright notice --- app/controllers/invitations_controller.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index d280a7e..69888ea 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + # frozen_string_literal: true # Copyright (C) 2024-2025 LibreWeddingPlanner contributors From 6100ce0b9945bd52b2ee2d0fee5d4d8c2b24054e Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 1 Jun 2025 19:57:09 +0200 Subject: [PATCH 50/88] Make migration reversible --- db/migrate/20250127190131_fix_cascading_wedding_deletion.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/migrate/20250127190131_fix_cascading_wedding_deletion.rb b/db/migrate/20250127190131_fix_cascading_wedding_deletion.rb index 366df85..a371d8e 100644 --- a/db/migrate/20250127190131_fix_cascading_wedding_deletion.rb +++ b/db/migrate/20250127190131_fix_cascading_wedding_deletion.rb @@ -1,7 +1,7 @@ class FixCascadingWeddingDeletion < ActiveRecord::Migration[8.0] def change [:expenses, :groups, :guests, :seats, :tables_arrangements, :users].each do |table| - remove_foreign_key table, column: :wedding_id + remove_foreign_key table, :weddings, column: :wedding_id add_foreign_key table, :weddings, on_delete: :cascade end end From 1281060bf8aebc5ac6b030e1f1ba4dc5e9003f31 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 2 Jun 2025 02:03:42 +0000 Subject: [PATCH 51/88] Update dependency rack-cors to v3 --- Gemfile.lock | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3e0be73..ded68c3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -246,8 +246,9 @@ GEM raabro (1.4.0) racc (1.8.1) rack (3.1.15) - rack-cors (2.0.2) - rack (>= 2.0.0) + rack-cors (3.0.0) + logger + rack (>= 3.0.14) rack-session (2.1.1) base64 (>= 0.1.0) rack (>= 3.0.0) @@ -572,7 +573,7 @@ CHECKSUMS raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f rack (3.1.15) sha256=d12b3e9960d18a26ded961250f2c0e3b375b49ff40dbe6786e9c3b160cbffca4 - rack-cors (2.0.2) sha256=415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b + rack-cors (3.0.0) sha256=7b95be61db39606906b61b83bd7203fa802b0ceaaad8fcb2fef39e097bf53f68 rack-session (2.1.1) sha256=0b6dc07dea7e4b583f58a48e8b806d4c9f1c6c9214ebc202ec94562cbea2e4e9 rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463 rackup (2.2.1) sha256=f737191fd5c5b348b7f0a4412a3b86383f88c43e13b8217b63d4c8d90b9e798d From afb103bd502a163282c8a96b9d8a78f543443031 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 3 Jun 2025 02:05:18 +0000 Subject: [PATCH 52/88] Update dependency turbo-rails to v2.0.16 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ded68c3..fe28af3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -397,7 +397,7 @@ GEM tilt (2.4.0) timeout (0.4.3) tomlrb (2.0.3) - turbo-rails (2.0.13) + turbo-rails (2.0.16) actionpack (>= 7.1.0) railties (>= 7.1.0) tzinfo (2.0.6) @@ -620,7 +620,7 @@ CHECKSUMS tilt (2.4.0) sha256=df74f29a451daed26591a85e8e0cebb198892cb75b6573394303acda273fba4d timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e tomlrb (2.0.3) sha256=c2736acf24919f793334023a4ff396c0647d93fce702a73c9d348deaa815d4f7 - turbo-rails (2.0.13) sha256=c40ac0a3ccd57c129925c8ac524a5dfd1e17fad080906e2d32135721a8bba22f + turbo-rails (2.0.16) sha256=d24e1b60f0c575b3549ecda967e5391027143f8220d837ed792c8d48ea0ea38d tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b unicode-display_width (2.6.0) sha256=12279874bba6d5e4d2728cef814b19197dbb10d7a7837a869bab65da943b7f5a uri (1.0.3) sha256=e9f2244608eea2f7bc357d954c65c910ce0399ca5e18a7a29207ac22d8767011 From 96b6f4ac9e0d2a7a7b66e1ce629c64c04ac10fa6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 5 Jun 2025 02:04:50 +0000 Subject: [PATCH 53/88] Update dependency rubocop to v1.76.0 --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index fe28af3..5a33428 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -339,7 +339,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.75.8) + rubocop (1.76.0) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -347,10 +347,10 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.44.0, < 2.0) + rubocop-ast (>= 1.45.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.44.1) + rubocop-ast (1.45.0) parser (>= 3.3.7.2) prism (~> 1.4) rubocop-factory_bot (2.27.1) @@ -600,8 +600,8 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.75.8) sha256=c80ab4286c5dcfc49d7ad1787cdba5569b63b58c96ee7afde4ec47a9c8a85be9 - rubocop-ast (1.44.1) sha256=e3cc04203b2ef04f6d6cf5f85fe6d643f442b18cc3b23e3ada0ce5b6521b8e92 + rubocop (1.76.0) sha256=b7515398e1280b3cb7e3e0c429933ca3597ea43b7d0f03cb3c2d97719851c411 + rubocop-ast (1.45.0) sha256=0b4ade77d15f25b9e07214fb42fa98164f5316accea525e14e44bbb8f06f78d7 rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.32.0) sha256=9fcc623c8722fe71e835e99c4a18b740b5b0d3fb69915d7f0777f00794b30490 rubocop-rspec (3.6.0) sha256=c0e4205871776727e54dee9cc91af5fd74578001551ba40e1fe1a1ab4b404479 From 4a107d6728f1b21ee8b7bd8f90bf291206a6d332 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 8 Jun 2025 17:38:34 +0200 Subject: [PATCH 54/88] Return guest that has just been created --- app/controllers/guests_controller.rb | 11 ++++++----- app/serializers/serializable_guest.rb | 6 +----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/app/controllers/guests_controller.rb b/app/controllers/guests_controller.rb index 1d872fa..1b215eb 100644 --- a/app/controllers/guests_controller.rb +++ b/app/controllers/guests_controller.rb @@ -5,21 +5,22 @@ require 'csv' class GuestsController < ApplicationController + GUEST_PARAMS = { only: %i[id name status], include: { group: { only: %i[id name] } } }.freeze def index render json: Guest.includes(:group) .left_joins(:group) .order('groups.name' => :asc, name: :asc) - .as_json(only: %i[id name status], include: { group: { only: %i[id name] } }) + .as_json(GUEST_PARAMS) end def create - Guest.create!(guest_params) - render json: {}, status: :created + guest = Guest.create!(guest_params) + render json: guest.as_json(GUEST_PARAMS), status: :created end def update - Guest.find(params[:id]).update!(guest_params) - render json: {}, status: :ok + guest = Guest.find(params[:id]).update!(guest_params) + render json: guest.as_json(GUEST_PARAMS), status: :ok end def destroy diff --git a/app/serializers/serializable_guest.rb b/app/serializers/serializable_guest.rb index ee4bac1..9b062bf 100644 --- a/app/serializers/serializable_guest.rb +++ b/app/serializers/serializable_guest.rb @@ -5,16 +5,12 @@ class SerializableGuest < JSONAPI::Serializable::Resource type 'guest' - attributes :id, :group_id, :status + attributes :id, :status attribute :name do @object.name end - attribute :group_name do - @object.group.name - end - attribute :status do @object.status.capitalize end From cc10fbfb834af5a4ffcb380f3126692c91e8d14d Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 8 Jun 2025 20:59:09 +0200 Subject: [PATCH 55/88] Store website content as HTML --- app/controllers/websites_controller.rb | 19 ++++++++++++++++++ app/models/website.rb | 21 ++++++++++++++++++++ app/models/wedding.rb | 1 + config/routes.rb | 3 +++ db/migrate/20250608181054_create_websites.rb | 10 ++++++++++ db/schema.rb | 11 +++++++++- spec/factories/websites.rb | 6 ++++++ spec/models/website_spec.rb | 5 +++++ 8 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 app/controllers/websites_controller.rb create mode 100644 app/models/website.rb create mode 100644 db/migrate/20250608181054_create_websites.rb create mode 100644 spec/factories/websites.rb create mode 100644 spec/models/website_spec.rb diff --git a/app/controllers/websites_controller.rb b/app/controllers/websites_controller.rb new file mode 100644 index 0000000..82d4a15 --- /dev/null +++ b/app/controllers/websites_controller.rb @@ -0,0 +1,19 @@ +class WebsitesController < ApplicationController + def show + render json: current_tenant.website.as_json(only: %i[content]) || {}, status: :ok + end + + def update + ActiveRecord::Base.transaction do + website = current_tenant.website || current_tenant.create_website + website.update!(website_params) + render json: website.as_json(only: %i[content]), status: :ok + end + end + + private + + def website_params + params.require(:website).permit(:content) + end +end diff --git a/app/models/website.rb b/app/models/website.rb new file mode 100644 index 0000000..95ea759 --- /dev/null +++ b/app/models/website.rb @@ -0,0 +1,21 @@ +# == Schema Information +# +# Table name: websites +# +# id :bigint not null, primary key +# content :text +# created_at :datetime not null +# updated_at :datetime not null +# wedding_id :uuid not null +# +# Indexes +# +# index_websites_on_wedding_id (wedding_id) +# +# Foreign Keys +# +# fk_rails_... (wedding_id => weddings.id) +# +class Website < ApplicationRecord + belongs_to :wedding +end diff --git a/app/models/wedding.rb b/app/models/wedding.rb index e9bed42..36e3ca8 100644 --- a/app/models/wedding.rb +++ b/app/models/wedding.rb @@ -23,4 +23,5 @@ class Wedding < ApplicationRecord has_many :guests, dependent: :delete_all has_many :groups, dependent: :delete_all has_many :invitations, dependent: :delete_all + has_one :website, dependent: :destroy end diff --git a/config/routes.rb b/config/routes.rb index a4b7897..e908b04 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -37,6 +37,9 @@ Rails.application.routes.draw do resources :expenses, only: %i[index create update destroy] do get :summary, on: :collection end + + resource :website, only: [:show, :update] + resources :tables_arrangements, only: %i[index show create] resources :summary, only: :index resources :invitations, only: %i[index create update destroy] diff --git a/db/migrate/20250608181054_create_websites.rb b/db/migrate/20250608181054_create_websites.rb new file mode 100644 index 0000000..63715b7 --- /dev/null +++ b/db/migrate/20250608181054_create_websites.rb @@ -0,0 +1,10 @@ +class CreateWebsites < ActiveRecord::Migration[8.0] + def change + create_table :websites do |t| + t.text :content + t.references :wedding, null: false, foreign_key: true, type: :uuid + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 5a7e2fd..2576583 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.0].define(version: 2025_01_27_190131) do +ActiveRecord::Schema[8.0].define(version: 2025_06_08_181054) do # These are extensions that must be enabled in order to support this database enable_extension "pg_catalog.plpgsql" @@ -241,6 +241,14 @@ ActiveRecord::Schema[8.0].define(version: 2025_01_27_190131) do t.index ["wedding_id"], name: "index_users_on_wedding_id" end + create_table "websites", force: :cascade do |t| + t.text "content" + t.uuid "wedding_id", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["wedding_id"], name: "index_websites_on_wedding_id" + end + create_table "weddings", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "slug", null: false t.datetime "created_at", null: false @@ -268,4 +276,5 @@ ActiveRecord::Schema[8.0].define(version: 2025_01_27_190131) do add_foreign_key "solid_queue_scheduled_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade add_foreign_key "tables_arrangements", "weddings", on_delete: :cascade add_foreign_key "users", "weddings", on_delete: :cascade + add_foreign_key "websites", "weddings" end diff --git a/spec/factories/websites.rb b/spec/factories/websites.rb new file mode 100644 index 0000000..9bf0807 --- /dev/null +++ b/spec/factories/websites.rb @@ -0,0 +1,6 @@ +FactoryBot.define do + factory :website do + content { "MyText" } + wedding { nil } + end +end diff --git a/spec/models/website_spec.rb b/spec/models/website_spec.rb new file mode 100644 index 0000000..97673ba --- /dev/null +++ b/spec/models/website_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe Website, type: :model do + it { should belong_to(:wedding) } +end From 3e363ac7dd8b93b17b9a65ee25e3390868a091a5 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 8 Jun 2025 19:03:39 +0000 Subject: [PATCH 56/88] Add copyright notice --- app/controllers/websites_controller.rb | 2 ++ app/models/website.rb | 2 ++ spec/factories/websites.rb | 2 ++ spec/models/website_spec.rb | 2 ++ 4 files changed, 8 insertions(+) diff --git a/app/controllers/websites_controller.rb b/app/controllers/websites_controller.rb index 82d4a15..e801106 100644 --- a/app/controllers/websites_controller.rb +++ b/app/controllers/websites_controller.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + class WebsitesController < ApplicationController def show render json: current_tenant.website.as_json(only: %i[content]) || {}, status: :ok diff --git a/app/models/website.rb b/app/models/website.rb index 95ea759..42c719e 100644 --- a/app/models/website.rb +++ b/app/models/website.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + # == Schema Information # # Table name: websites diff --git a/spec/factories/websites.rb b/spec/factories/websites.rb index 9bf0807..76e2d8b 100644 --- a/spec/factories/websites.rb +++ b/spec/factories/websites.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + FactoryBot.define do factory :website do content { "MyText" } diff --git a/spec/models/website_spec.rb b/spec/models/website_spec.rb index 97673ba..c22f339 100644 --- a/spec/models/website_spec.rb +++ b/spec/models/website_spec.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + require 'rails_helper' RSpec.describe Website, type: :model do From fc9911abf4b1c297b4ae84d7c17c4f13618dd156 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 8 Jun 2025 23:09:14 +0200 Subject: [PATCH 57/88] Fix rubocop ofenses --- app/controllers/websites_controller.rb | 4 +++- app/models/website.rb | 2 ++ spec/factories/websites.rb | 4 +++- spec/models/website_spec.rb | 6 ++++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/controllers/websites_controller.rb b/app/controllers/websites_controller.rb index e801106..46e0d01 100644 --- a/app/controllers/websites_controller.rb +++ b/app/controllers/websites_controller.rb @@ -1,5 +1,7 @@ # Copyright (C) 2024-2025 LibreWeddingPlanner contributors +# frozen_string_literal: true + class WebsitesController < ApplicationController def show render json: current_tenant.website.as_json(only: %i[content]) || {}, status: :ok @@ -16,6 +18,6 @@ class WebsitesController < ApplicationController private def website_params - params.require(:website).permit(:content) + params.expect(website: [:content]) end end diff --git a/app/models/website.rb b/app/models/website.rb index 42c719e..401b101 100644 --- a/app/models/website.rb +++ b/app/models/website.rb @@ -1,5 +1,7 @@ # Copyright (C) 2024-2025 LibreWeddingPlanner contributors +# frozen_string_literal: true + # == Schema Information # # Table name: websites diff --git a/spec/factories/websites.rb b/spec/factories/websites.rb index 76e2d8b..b8c4048 100644 --- a/spec/factories/websites.rb +++ b/spec/factories/websites.rb @@ -1,8 +1,10 @@ # Copyright (C) 2024-2025 LibreWeddingPlanner contributors +# frozen_string_literal: true + FactoryBot.define do factory :website do - content { "MyText" } + content { 'MyText' } wedding { nil } end end diff --git a/spec/models/website_spec.rb b/spec/models/website_spec.rb index c22f339..a9533cd 100644 --- a/spec/models/website_spec.rb +++ b/spec/models/website_spec.rb @@ -1,7 +1,9 @@ # Copyright (C) 2024-2025 LibreWeddingPlanner contributors +# frozen_string_literal: true + require 'rails_helper' -RSpec.describe Website, type: :model do - it { should belong_to(:wedding) } +RSpec.describe Website do + it { is_expected.to belong_to(:wedding) } end From 3832f1d8404e2f038a296694f0f9daed833a7f9c Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Mon, 9 Jun 2025 08:14:51 +0200 Subject: [PATCH 58/88] Do not require authentication to access the public website content --- app/controllers/websites_controller.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controllers/websites_controller.rb b/app/controllers/websites_controller.rb index 46e0d01..44b1fb1 100644 --- a/app/controllers/websites_controller.rb +++ b/app/controllers/websites_controller.rb @@ -3,6 +3,8 @@ # frozen_string_literal: true class WebsitesController < ApplicationController + skip_before_action :authenticate_user!, only: :show + def show render json: current_tenant.website.as_json(only: %i[content]) || {}, status: :ok end From 2fe72a34e4123a08fe5184507be7d99c0a336ee0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 10 Jun 2025 02:05:32 +0000 Subject: [PATCH 59/88] Update dependency rubocop to v1.76.1 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5a33428..acd521e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -339,7 +339,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.76.0) + rubocop (1.76.1) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -350,7 +350,7 @@ GEM rubocop-ast (>= 1.45.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.45.0) + rubocop-ast (1.45.1) parser (>= 3.3.7.2) prism (~> 1.4) rubocop-factory_bot (2.27.1) @@ -600,8 +600,8 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.76.0) sha256=b7515398e1280b3cb7e3e0c429933ca3597ea43b7d0f03cb3c2d97719851c411 - rubocop-ast (1.45.0) sha256=0b4ade77d15f25b9e07214fb42fa98164f5316accea525e14e44bbb8f06f78d7 + rubocop (1.76.1) sha256=e15a2d750794cf2157d2de8b1b403dfa71b8dc3957a22ae6043b1bdf21e7e0e7 + rubocop-ast (1.45.1) sha256=94042e49adc17f187ba037b33f941ba7398fede77cdf4bffafba95190a473a3e rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.32.0) sha256=9fcc623c8722fe71e835e99c4a18b740b5b0d3fb69915d7f0777f00794b30490 rubocop-rspec (3.6.0) sha256=c0e4205871776727e54dee9cc91af5fd74578001551ba40e1fe1a1ab4b404479 From b9770b7a9feb0027524675e697798c627b26703c Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Wed, 11 Jun 2025 19:06:58 +0200 Subject: [PATCH 60/88] Prevent PR jobs from running in the main branch --- .gitea/workflows/tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitea/workflows/tests.yml b/.gitea/workflows/tests.yml index c83664b..c00cf0f 100644 --- a/.gitea/workflows/tests.yml +++ b/.gitea/workflows/tests.yml @@ -65,6 +65,7 @@ jobs: if: failure() run: docker ps --filter network=$JOB_CONTAINER_NAME-$GITHUB_JOB-network --filter name=$JOB_CONTAINER_NAME-* --format "{{.ID}}" | xargs docker rm -f rubocop: + if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -74,6 +75,7 @@ jobs: - run: bundle install - run: bundle exec rubocop --force-exclusion --parallel check-licenses: + if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -85,6 +87,7 @@ jobs: - name: Run license finder run: license_finder copyright_notice: + if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From f3088470da7a13e18bcec927e65e6b375e6e7559 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Wed, 11 Jun 2025 19:09:48 +0200 Subject: [PATCH 61/88] Use latest version of v1 ruby-setup --- .gitea/workflows/tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/tests.yml b/.gitea/workflows/tests.yml index c00cf0f..380d3ca 100644 --- a/.gitea/workflows/tests.yml +++ b/.gitea/workflows/tests.yml @@ -23,7 +23,7 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} ref: ${{ github.head_ref }} # Checkout the actual branch, not the result if merged into the base - - uses: ruby/setup-ruby@v1.220.0 + - uses: ruby/setup-ruby@v1 - run: bundle install - &postgres_wait name: Wait until Postgres is ready to accept connections @@ -71,7 +71,7 @@ jobs: - uses: actions/checkout@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@v1.220.0 + - uses: ruby/setup-ruby@v1 - run: bundle install - run: bundle exec rubocop --force-exclusion --parallel check-licenses: @@ -81,7 +81,7 @@ jobs: - uses: actions/checkout@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@v1.220.0 + - uses: ruby/setup-ruby@v1 - name: Install project dependencies run: bundle install --jobs `getconf _NPROCESSORS_ONLN` - name: Run license finder From 7f4554d21ac5a788780e04a02cbd5dd817cd0080 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Wed, 11 Jun 2025 20:49:50 +0200 Subject: [PATCH 62/88] Build docker image in the main branch --- .gitea/workflows/tests.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitea/workflows/tests.yml b/.gitea/workflows/tests.yml index 380d3ca..abbd6ce 100644 --- a/.gitea/workflows/tests.yml +++ b/.gitea/workflows/tests.yml @@ -124,9 +124,6 @@ jobs: timeout-minutes: 30 needs: - unit_tests - - rubocop - - check-licenses - - copyright_notice steps: - uses: actions/checkout@v4 with: From 82a39bce82e1ad59369c4ec3d302551a1b5dcd4b Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Thu, 12 Jun 2025 19:21:53 +0200 Subject: [PATCH 63/88] Define a new public endpoint to get information about an invitation --- app/controllers/invitations_controller.rb | 14 ++++++++++++-- config/routes.rb | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index 69888ea..8ae3fbb 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -2,9 +2,9 @@ # frozen_string_literal: true -# Copyright (C) 2024-2025 LibreWeddingPlanner contributors - class InvitationsController < ApplicationController + skip_before_action :authenticate_user!, only: :show + def index render json: Invitation.includes(:guests).as_json( only: :id, @@ -16,6 +16,16 @@ class InvitationsController < ApplicationController ) end + def show + invitation = Invitation.includes(:guests).find(params[:id]) + + if invitation + render json: invitation, only: :id, include: { guests: { only: %i[id name] } }, status: :ok + else + render json: { error: 'Invitation not found' }, status: :not_found + end + end + def create invitation = Invitation.create diff --git a/config/routes.rb b/config/routes.rb index e908b04..4e36fa2 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -42,7 +42,7 @@ Rails.application.routes.draw do resources :tables_arrangements, only: %i[index show create] resources :summary, only: :index - resources :invitations, only: %i[index create update destroy] + resources :invitations, only: %i[show index create update destroy] root to: redirect("/%{slug}") end From 9a99981f6750fc80c252c349f4dd87ee0325182c Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Thu, 12 Jun 2025 22:53:50 +0200 Subject: [PATCH 64/88] Allow updating the status of guests from unauthenticated sessions --- app/controllers/guests_controller.rb | 9 +++++++++ app/controllers/invitations_controller.rb | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/controllers/guests_controller.rb b/app/controllers/guests_controller.rb index 1b215eb..75c1072 100644 --- a/app/controllers/guests_controller.rb +++ b/app/controllers/guests_controller.rb @@ -6,6 +6,9 @@ require 'csv' class GuestsController < ApplicationController GUEST_PARAMS = { only: %i[id name status], include: { group: { only: %i[id name] } } }.freeze + + skip_before_action :authenticate_user!, only: :update + def index render json: Guest.includes(:group) .left_joins(:group) @@ -19,6 +22,12 @@ class GuestsController < ApplicationController end def update + if user_signed_in? + permitted_params = guest_params + else + permitted_params = params.expect(guest: %i[status]) + end + guest = Guest.find(params[:id]).update!(guest_params) render json: guest.as_json(GUEST_PARAMS), status: :ok end diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index 8ae3fbb..f90e8d4 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -20,7 +20,7 @@ class InvitationsController < ApplicationController invitation = Invitation.includes(:guests).find(params[:id]) if invitation - render json: invitation, only: :id, include: { guests: { only: %i[id name] } }, status: :ok + render json: invitation, only: :id, include: { guests: { only: %i[id name status] } }, status: :ok else render json: { error: 'Invitation not found' }, status: :not_found end From efb5cf64f5acb7ce4fa242a26514366a4b1dc716 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Thu, 12 Jun 2025 23:01:03 +0200 Subject: [PATCH 65/88] Minor changes --- app/controllers/guests_controller.rb | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/app/controllers/guests_controller.rb b/app/controllers/guests_controller.rb index 75c1072..1fa29f6 100644 --- a/app/controllers/guests_controller.rb +++ b/app/controllers/guests_controller.rb @@ -22,12 +22,6 @@ class GuestsController < ApplicationController end def update - if user_signed_in? - permitted_params = guest_params - else - permitted_params = params.expect(guest: %i[status]) - end - guest = Guest.find(params[:id]).update!(guest_params) render json: guest.as_json(GUEST_PARAMS), status: :ok end @@ -40,6 +34,6 @@ class GuestsController < ApplicationController private def guest_params - params.expect(guest: %i[name group_id status]) + user_signed_in? ? params.expect(guest: %i[name group_id status]) : params.expect(guest: %i[status]) end end From 46b59ac617e514ef3a218a2c73db152854f50dd6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 14 Jun 2025 02:04:16 +0000 Subject: [PATCH 66/88] Update dependency factory_bot_rails to v6.5.0 --- Gemfile.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 685eac4..c0017ee 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -85,7 +85,7 @@ GEM base64 (0.3.0) bcrypt (3.1.20) benchmark (0.4.1) - bigdecimal (3.2.1) + bigdecimal (3.2.2) bindex (0.8.1) bootsnap (1.18.6) msgpack (~> 1.2) @@ -115,11 +115,11 @@ GEM et-orbi (1.2.11) tzinfo execjs (2.9.1) - factory_bot (6.4.6) - activesupport (>= 5.0.0) - factory_bot_rails (6.4.3) - factory_bot (~> 6.4) - railties (>= 5.0.0) + factory_bot (6.5.4) + activesupport (>= 6.1.0) + factory_bot_rails (6.5.0) + factory_bot (~> 6.5) + railties (>= 6.1.0) faker (3.5.1) i18n (>= 1.8.11, < 2) fugit (1.11.1) @@ -245,7 +245,7 @@ GEM nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) - rack (3.1.15) + rack (3.1.16) rack-cors (3.0.0) logger rack (>= 3.0.14) @@ -491,7 +491,7 @@ CHECKSUMS base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b bcrypt (3.1.20) sha256=8410f8c7b3ed54a3c00cd2456bf13917d695117f033218e2483b2e40b0784099 benchmark (0.4.1) sha256=d4ef40037bba27f03b28013e219b950b82bace296549ec15a78016552f8d2cce - bigdecimal (3.2.1) sha256=1f68631e876c6aba8fe9b84b36983c55ad3293ff2d1ad4c6f115bde1e9d802e3 + bigdecimal (3.2.2) sha256=39085f76b495eb39a79ce07af716f3a6829bc35eb44f2195e2753749f2fa5adc bindex (0.8.1) sha256=7b1ecc9dc539ed8bccfc8cb4d2732046227b09d6f37582ff12e50a5047ceb17e bootsnap (1.18.6) sha256=0ae2393c1e911e38be0f24e9173e7be570c3650128251bf06240046f84a07d00 builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f @@ -511,8 +511,8 @@ CHECKSUMS erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9 et-orbi (1.2.11) sha256=d26e868cc21db88280a9ec1a50aa3da5d267eb9b2037ba7b831d6c2731f5df64 execjs (2.9.1) sha256=e8fd066f6df60c8e8fbebc32c6fb356b5212c77374e8416a9019ca4bb154dcfb - factory_bot (6.4.6) sha256=1a9486ce98d318d740d8f5804b885a8265a28f326ecf2bcd4ce9fb27a71a6e04 - factory_bot_rails (6.4.3) sha256=ea73ceac1c0ff3dc11fff390bf2ea8a2604066525ed8ecd3b3bc2c267226dcc8 + factory_bot (6.5.4) sha256=4707fb7d80a7c14d71feb069460587bfc342e4ff1ef28097e0ad69d5ddfce613 + factory_bot_rails (6.5.0) sha256=4a7b61635424a57cc60412a18b72b9dcfb02fabfce2c930447a01dce8b37c0a2 faker (3.5.1) sha256=1ad1fbea279d882f486059c23fe3ddb816ccd1d7052c05a45014b4450d859bfc fugit (1.11.1) sha256=e89485e7be22226d8e9c6da411664d0660284b4b1c08cacb540f505907869868 globalid (1.2.1) sha256=70bf76711871f843dbba72beb8613229a49429d1866828476f9c9d6ccc327ce9 @@ -572,7 +572,7 @@ CHECKSUMS puma (6.6.0) sha256=f25c06873eb3d5de5f0a4ebc783acc81a4ccfe580c760cfe323497798018ad87 raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f - rack (3.1.15) sha256=d12b3e9960d18a26ded961250f2c0e3b375b49ff40dbe6786e9c3b160cbffca4 + rack (3.1.16) sha256=efb5606c351efc56b85b10c3493055d0d35209d23f44792ec4e1183eb0234635 rack-cors (3.0.0) sha256=7b95be61db39606906b61b83bd7203fa802b0ceaaad8fcb2fef39e097bf53f68 rack-session (2.1.1) sha256=0b6dc07dea7e4b583f58a48e8b806d4c9f1c6c9214ebc202ec94562cbea2e4e9 rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463 From 7f4bd8a8df35df0bfe24c5ad8a439982f3b69b76 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 15 Jun 2025 11:24:57 +0200 Subject: [PATCH 67/88] Return guests ordered by invitation within same group --- app/controllers/guests_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/guests_controller.rb b/app/controllers/guests_controller.rb index 1fa29f6..62530ce 100644 --- a/app/controllers/guests_controller.rb +++ b/app/controllers/guests_controller.rb @@ -12,7 +12,7 @@ class GuestsController < ApplicationController def index render json: Guest.includes(:group) .left_joins(:group) - .order('groups.name' => :asc, name: :asc) + .order('groups.name' => :asc, invitation_id: :asc, name: :asc) .as_json(GUEST_PARAMS) end From 9f05d74bb4e89ca17251158daccd6600416128d8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 18 Jun 2025 02:06:39 +0000 Subject: [PATCH 68/88] Update dependency debug to v1.11.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c0017ee..bcc5712 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -99,7 +99,7 @@ GEM crass (1.0.6) csv (3.3.5) date (3.4.1) - debug (1.10.0) + debug (1.11.0) irb (~> 1.10) reline (>= 0.3.8) devise (4.9.4) @@ -503,7 +503,7 @@ CHECKSUMS crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f - debug (1.10.0) sha256=11e28ca74875979e612444104f3972bd5ffb9e79179907d7ad46dba44bd2e7a4 + debug (1.11.0) sha256=1425db64cfa0130c952684e3dc974985be201dd62899bf4bbe3f8b5d6cf1aef2 devise (4.9.4) sha256=920042fe5e704c548aa4eb65ebdd65980b83ffae67feb32c697206bfd975a7f8 diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962 drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373 From 4c262b3ddde0edde5a1c022c3b29e84c8ee633bd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 19 Jun 2025 02:06:48 +0000 Subject: [PATCH 69/88] Update dependency annotaterb to v4.16.0 --- Gemfile.lock | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c0017ee..a263271 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,7 +76,9 @@ GEM rails (>= 6.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - annotaterb (4.15.0) + annotaterb (4.16.0) + activerecord (>= 6.0.0) + activesupport (>= 6.0.0) ast (2.4.3) babel-source (5.8.35) babel-transpiler (0.7.0) @@ -484,7 +486,7 @@ CHECKSUMS activesupport (8.0.2) sha256=8565cddba31b900cdc17682fd66ecd020441e3eef320a9930285394e8c07a45e acts_as_tenant (1.0.1) sha256=6944e4d64533337938a8817a6b4ff9b11189c9dcc0b1333bb89f3821a4c14c53 addressable (2.8.7) sha256=462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232 - annotaterb (4.15.0) sha256=fb871b5a3f96d1a3195ab0f0f51adb9105ab00492f10e97dd6f35d321e3410b0 + annotaterb (4.16.0) sha256=3ed087a925b306036139e4191b38044390bcfc4561adece8f779f9d5ee87ca3c ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383 babel-source (5.8.35) sha256=79ef222a9dcb867ac2efa3b0da35b4bcb15a4bfa67b6b2dcbf1e9a29104498d9 babel-transpiler (0.7.0) sha256=4c06f4ad9e8e1cabe94f99e11df2f140bb72aca9ba067dbb49dc14d9b98d1570 From a1ed94794a81053698c5a46b6590c1559c54c1f8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 20 Jun 2025 02:05:35 +0000 Subject: [PATCH 70/88] Update dependency rspec-rails to v8.0.1 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b8b34bb..feebe5a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -289,7 +289,7 @@ GEM zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.3.0) - rdoc (6.14.0) + rdoc (6.14.1) erb psych (>= 4.0.0) react-rails (3.2.1) @@ -317,7 +317,7 @@ GEM rspec-mocks (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (8.0.0) + rspec-rails (8.0.1) actionpack (>= 7.2) activesupport (>= 7.2) railties (>= 7.2) @@ -585,7 +585,7 @@ CHECKSUMS railties (8.0.2) sha256=0d7c3f40c49ba74980f1bac1d4bb153a9331c5ee8a9631d89c7bf79db82e5cf9 rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a rake (13.3.0) sha256=96f5092d786ff412c62fde76f793cc0541bd84d2eb579caa529aa8a059934493 - rdoc (6.14.0) sha256=2c46de58d7129b8743fcf6d76e3db971bdc914150e15ac06b386549bd82ed7db + rdoc (6.14.1) sha256=905efa796cd296ef252af4fb31fe41c073dee894de6aad715821f335c632516b react-rails (3.2.1) sha256=2235db0b240517596b1cb3e26177ab5bc64d3a56579b0415ee242b1691f81f64 redis (5.4.0) sha256=798900d869418a9fc3977f916578375b45c38247a556b61d58cba6bb02f7d06b redis-client (0.23.2) sha256=e33bab6682c8155cfef95e6dd296936bb9c2981a89fb578ace27a076fa2836fa @@ -596,7 +596,7 @@ CHECKSUMS rspec-core (3.13.4) sha256=f9da156b7b775c82610a7b580624df51a55102f8c8e4a103b98f5d7a9fa23958 rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836 rspec-mocks (3.13.5) sha256=e4338a6f285ada9fe56f5893f5457783af8194f5d08884d17a87321d5195ea81 - rspec-rails (8.0.0) sha256=977a508cd94d152db2068c6585470db5d0cd47eef56d5410b9531034fb9d97bf + rspec-rails (8.0.1) sha256=0c3700b10ab6d7c648c4cd554023d8c2b5b07e7f01205f7608f0c511cf686505 rspec-support (3.13.4) sha256=184b1814f6a968102b57df631892c7f1990a91c9a3b9e80ef892a0fc2a71a3f7 rswag (2.16.0) sha256=f07ce41548b9bb51464c38bc7b95af22fee84b90f2d1197a515a623906353086 rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 From 6a36a2bda3240ebc5644e49c3e0db77a6db967d0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 21 Jun 2025 02:06:01 +0000 Subject: [PATCH 71/88] Update dependency rubocop to v1.77.0 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index feebe5a..1b74640 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -341,7 +341,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.76.1) + rubocop (1.77.0) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -349,7 +349,7 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.45.0, < 2.0) + rubocop-ast (>= 1.45.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.45.1) @@ -602,7 +602,7 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.76.1) sha256=e15a2d750794cf2157d2de8b1b403dfa71b8dc3957a22ae6043b1bdf21e7e0e7 + rubocop (1.77.0) sha256=1f360b4575ef7a124be27b0dfffa227a2b2d9420d22d4fd8bf179d702bcc88c0 rubocop-ast (1.45.1) sha256=94042e49adc17f187ba037b33f941ba7398fede77cdf4bffafba95190a473a3e rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.32.0) sha256=9fcc623c8722fe71e835e99c4a18b740b5b0d3fb69915d7f0777f00794b30490 From f3c9d82074d58f5a428f2f16eb6c20d207a91ceb Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Tue, 1 Jul 2025 00:12:56 +0200 Subject: [PATCH 72/88] Extend the invitations index endpoint to return a PDF file with QRs for invitations --- Dockerfile | 2 +- Dockerfile.dev | 2 +- Gemfile | 4 +++ Gemfile.lock | 16 ++++++++++++ app/controllers/invitations_controller.rb | 28 ++++++++++++++------ app/models/invitation.rb | 4 +++ app/views/invitations/sheet.html.erb | 31 +++++++++++++++++++++++ app/views/layouts/pdf.html.erb | 10 ++++++++ config/environments/development.rb | 1 + config/environments/production.rb | 1 + config/initializers/wicked_pdf.rb | 30 ++++++++++++++++++++++ 11 files changed, 119 insertions(+), 10 deletions(-) create mode 100644 app/views/invitations/sheet.html.erb create mode 100644 app/views/layouts/pdf.html.erb create mode 100644 config/initializers/wicked_pdf.rb diff --git a/Dockerfile b/Dockerfile index 56042e5..a52161a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ ENV RAILS_ENV="production" \ BUNDLE_PATH="/usr/local/bundle" \ BUNDLE_WITHOUT="development" -RUN apt-get update && apt-get install -y nodejs +RUN apt-get update && apt-get install -y nodejs wkhtmltopdf # Throw-away build stage to reduce size of final image FROM base AS build diff --git a/Dockerfile.dev b/Dockerfile.dev index f2a82ba..43fc287 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -7,7 +7,7 @@ FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim as base # Rails app lives here WORKDIR /rails -RUN apt-get update && apt-get install -y nodejs +RUN apt-get update && apt-get install -y nodejs wkhtmltopdf FROM base as build diff --git a/Gemfile b/Gemfile index e0e1d14..e39c2d2 100644 --- a/Gemfile +++ b/Gemfile @@ -51,3 +51,7 @@ gem 'chroma' gem 'solid_queue', '~> 1.0' gem 'devise', '~> 4.9' + +gem 'wicked_pdf', '~> 2.8' + +gem 'rqrcode', '~> 3.1' diff --git a/Gemfile.lock b/Gemfile.lock index 1b74640..e71e855 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -95,6 +95,7 @@ GEM childprocess (5.1.0) logger (~> 1.5) chroma (0.2.0) + chunky_png (1.4.0) coderay (1.1.3) concurrent-ruby (1.3.5) connection_pool (2.5.3) @@ -224,6 +225,7 @@ GEM nokogiri (1.18.8-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) + ostruct (0.6.2) parallel (1.27.0) parser (3.3.8.0) ast (~> 2.4.1) @@ -309,6 +311,10 @@ GEM actionpack (>= 5.2) railties (>= 5.2) rexml (3.3.9) + rqrcode (3.1.0) + chunky_png (~> 1.0) + rqrcode_core (~> 2.0) + rqrcode_core (2.0.0) rspec-core (3.13.4) rspec-support (~> 3.13.0) rspec-expectations (3.13.5) @@ -418,6 +424,9 @@ GEM base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) + wicked_pdf (2.8.2) + activesupport + ostruct with_env (1.1.0) xml-simple (1.1.9) rexml @@ -456,6 +465,7 @@ DEPENDENCIES rails (~> 8.0.0, >= 8.0.0) react-rails redis (>= 4.0.1) + rqrcode (~> 3.1) rspec-rails (~> 8.0.0) rswag rubocop @@ -471,6 +481,7 @@ DEPENDENCIES turbo-rails tzinfo-data web-console + wicked_pdf (~> 2.8) CHECKSUMS actioncable (8.0.2) sha256=7bcce2df62e91a80143592600e16583c273e98aab50ae40a9f6a2604bb3289a0 @@ -499,6 +510,7 @@ CHECKSUMS builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f childprocess (5.1.0) sha256=9a8d484be2fd4096a0e90a0cd3e449a05bc3aa33f8ac9e4d6dcef6ac1455b6ec chroma (0.2.0) sha256=64bdcd36a4765fbcd45adc64960cc153101300b4918f90ffdd89f4e2eb954b54 + chunky_png (1.4.0) sha256=89d5b31b55c0cf4da3cf89a2b4ebc3178d8abe8cbaf116a1dba95668502fdcfe coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6 connection_pool (2.5.3) sha256=cfd74a82b9b094d1ce30c4f1a346da23ee19dc8a062a16a85f58eab1ced4305b @@ -561,6 +573,7 @@ CHECKSUMS nokogiri (1.18.8-x86_64-darwin) sha256=024cdfe7d9ae3466bba6c06f348fb2a8395d9426b66a3c82f1961b907945cc0c nokogiri (1.18.8-x86_64-linux-gnu) sha256=4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc orm_adapter (0.5.0) sha256=aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9 + ostruct (0.6.2) sha256=6d7302a299e400a2c248d6ce0dad18fc3a5714e8096facc25ffd0c54ee57cfc0 parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130 parser (3.3.8.0) sha256=2476364142b307fa5a1b1ece44f260728be23858a9c71078e956131a75453c45 pg (1.5.9) sha256=761efbdf73b66516f0c26fcbe6515dc7500c3f0aa1a1b853feae245433c64fdc @@ -593,6 +606,8 @@ CHECKSUMS reline (0.6.1) sha256=1afcc9d7cb1029cdbe780d72f2f09251ce46d3780050f3ec39c3ccc6b60675fb responders (3.1.1) sha256=92f2a87e09028347368639cfb468f5fefa745cb0dc2377ef060db1cdd79a341a rexml (3.3.9) sha256=d71875b85299f341edf47d44df0212e7658cbdf35aeb69cefdb63f57af3137c9 + rqrcode (3.1.0) sha256=e2d5996375f6e9a013823c289ed575dbea678b8e0388574302c1fac563f098af + rqrcode_core (2.0.0) sha256=1e40b823ab57a96482a417fff5dd5c33645a00cea6ef5d9e342fecc5ef91d9ab rspec-core (3.13.4) sha256=f9da156b7b775c82610a7b580624df51a55102f8c8e4a103b98f5d7a9fa23958 rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836 rspec-mocks (3.13.5) sha256=e4338a6f285ada9fe56f5893f5457783af8194f5d08884d17a87321d5195ea81 @@ -631,6 +646,7 @@ CHECKSUMS web-console (4.2.1) sha256=e7bcf37a10ea2b4ec4281649d1cee461b32232d0a447e82c786e6841fd22fe20 websocket-driver (0.7.7) sha256=056d99f2cd545712cfb1291650fde7478e4f2661dc1db6a0fa3b966231a146b4 websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241 + wicked_pdf (2.8.2) sha256=648d9b0cec5a34adbc9bbf809731052a78119e2d6d323b9e4aa1383e1d683824 with_env (1.1.0) sha256=50b3e4f0a6cda8f90d8a6bd87a6261f6c381429abafb161c4c69ad4a0cd0b6e4 xml-simple (1.1.9) sha256=d21131e519c86f1a5bc2b6d2d57d46e6998e47f18ed249b25cad86433dbd695d zeitwerk (2.7.3) sha256=b2e86b4a9b57d26ba68a15230dcc7fe6f040f06831ce64417b0621ad96ba3e85 diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index f90e8d4..3388a9b 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -6,16 +6,28 @@ class InvitationsController < ApplicationController skip_before_action :authenticate_user!, only: :show def index - render json: Invitation.includes(:guests).as_json( - only: :id, - include: { - guests: { - only: %i[id name] - } - } - ) + @invitations = Invitation.includes(:guests).all + respond_to do |format| + format.json do + render json: @invitations.as_json( + only: :id, + include: { guests: { only: %i[id name] } } + ) + end + format.pdf do + pdf_html = ActionController::Base.new.render_to_string( + template: 'invitations/sheet', + layout: 'pdf', + locals: { invitations: @invitations } + ) + pdf = WickedPdf.new.pdf_from_string(pdf_html) + send_data pdf, filename: "invitations_#{Time.current.strftime('%Y%m%d_%H%M%S')}.pdf" + end + end end + def sheet; end + def show invitation = Invitation.includes(:guests).find(params[:id]) diff --git a/app/models/invitation.rb b/app/models/invitation.rb index 020242e..879439b 100644 --- a/app/models/invitation.rb +++ b/app/models/invitation.rb @@ -22,4 +22,8 @@ class Invitation < ApplicationRecord acts_as_tenant :wedding has_many :guests, dependent: :nullify + + def url + "#{Rails.application.routes.url_helpers.root_url(slug: ActsAsTenant.current_tenant.slug)}/site/invitation/#{id}" + end end diff --git a/app/views/invitations/sheet.html.erb b/app/views/invitations/sheet.html.erb new file mode 100644 index 0000000..2cfced5 --- /dev/null +++ b/app/views/invitations/sheet.html.erb @@ -0,0 +1,31 @@ +<% invitations.each_slice(4) do |invitation_group| %> + + <% invitation_group.each do |invitation| %> + + + + + <% end %> +
+ <%= image_tag(RQRCode::QRCode.new(invitation.url).as_png( + bit_depth: 1, + border_modules: 4, + color_mode: ChunkyPNG::COLOR_GRAYSCALE, + color: "black", + file: nil, + fill: "white", + module_px_size: 6, + resize_exactly_to: false, + resize_gte_to: false, + size: 250 + ).to_data_url) + %> + +
    + <% invitation.guests.each do |guest| %> + <%= content_tag(:li, guest.name) %> + <% end %> +
+
+
+<% end %> diff --git a/app/views/layouts/pdf.html.erb b/app/views/layouts/pdf.html.erb new file mode 100644 index 0000000..f776a04 --- /dev/null +++ b/app/views/layouts/pdf.html.erb @@ -0,0 +1,10 @@ + + + + + +
+ <%= yield %> +
+ + \ No newline at end of file diff --git a/config/environments/development.rb b/config/environments/development.rb index 232e88e..2f085c5 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -79,4 +79,5 @@ Rails.application.configure do config.action_controller.raise_on_missing_callback_actions = true config.hosts << "libre-wedding-planner.app.localhost" + Rails.application.routes.default_url_options[:host] = "libre-wedding-planner.app.localhost" end diff --git a/config/environments/production.rb b/config/environments/production.rb index 4db7dca..7da12a5 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -94,6 +94,7 @@ Rails.application.configure do # ] config.hosts << "app.libreweddingplanner.org" + Rails.application.routes.default_url_options[:host] = "app.libreweddingplanner.org" # Skip DNS rebinding protection for the default health check endpoint. config.host_authorization = { exclude: ->(request) { request.path == "/up" } } diff --git a/config/initializers/wicked_pdf.rb b/config/initializers/wicked_pdf.rb new file mode 100644 index 0000000..f5566fb --- /dev/null +++ b/config/initializers/wicked_pdf.rb @@ -0,0 +1,30 @@ +# WickedPDF Global Configuration +# +# Use this to set up shared configuration options for your entire application. +# Any of the configuration options shown here can also be applied to single +# models by passing arguments to the `render :pdf` call. +# +# To learn more, check out the README: +# +# https://github.com/mileszs/wicked_pdf/blob/master/README.md + +WickedPdf.configure do |config| + # Path to the wkhtmltopdf executable: This usually isn't needed if using + # one of the wkhtmltopdf-binary family of gems. + # config.exe_path = '/usr/local/bin/wkhtmltopdf' + # or + # config.exe_path = Gem.bin_path('wkhtmltopdf-binary', 'wkhtmltopdf') + + # Needed for wkhtmltopdf 0.12.6+ to use many wicked_pdf asset helpers + # config.enable_local_file_access = true + + # Layout file to be used for all PDFs + # (but can be overridden in `render :pdf` calls) + # config.layout = 'pdf.html' + + # Using wkhtmltopdf without an X server can be achieved by enabling the + # 'use_xvfb' flag. This will wrap all wkhtmltopdf commands around the + # 'xvfb-run' command, in order to simulate an X server. + # + # config.use_xvfb = true +end From beda9ff870bee75f6ff91da46eb6cca8c01e89ad Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Mon, 30 Jun 2025 22:14:30 +0000 Subject: [PATCH 73/88] Add copyright notice --- app/views/invitations/sheet.html.erb | 2 ++ app/views/layouts/pdf.html.erb | 2 ++ config/initializers/wicked_pdf.rb | 2 ++ 3 files changed, 6 insertions(+) diff --git a/app/views/invitations/sheet.html.erb b/app/views/invitations/sheet.html.erb index 2cfced5..277419a 100644 --- a/app/views/invitations/sheet.html.erb +++ b/app/views/invitations/sheet.html.erb @@ -1,3 +1,5 @@ +<%# Copyright (C) 2024-2025 LibreWeddingPlanner contributors %> + <% invitations.each_slice(4) do |invitation_group| %> <% invitation_group.each do |invitation| %> diff --git a/app/views/layouts/pdf.html.erb b/app/views/layouts/pdf.html.erb index f776a04..4d83e52 100644 --- a/app/views/layouts/pdf.html.erb +++ b/app/views/layouts/pdf.html.erb @@ -1,3 +1,5 @@ +<%# Copyright (C) 2024-2025 LibreWeddingPlanner contributors %> + diff --git a/config/initializers/wicked_pdf.rb b/config/initializers/wicked_pdf.rb index f5566fb..749d3c3 100644 --- a/config/initializers/wicked_pdf.rb +++ b/config/initializers/wicked_pdf.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + # WickedPDF Global Configuration # # Use this to set up shared configuration options for your entire application. From 162605645664150c1a4bed2bae3e6e792215f3e0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 2 Jul 2025 02:06:43 +0000 Subject: [PATCH 74/88] Update dependency faker to v3.5.2 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e71e855..d8e8f7a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -123,7 +123,7 @@ GEM factory_bot_rails (6.5.0) factory_bot (~> 6.5) railties (>= 6.1.0) - faker (3.5.1) + faker (3.5.2) i18n (>= 1.8.11, < 2) fugit (1.11.1) et-orbi (~> 1, >= 1.2.11) @@ -527,7 +527,7 @@ CHECKSUMS execjs (2.9.1) sha256=e8fd066f6df60c8e8fbebc32c6fb356b5212c77374e8416a9019ca4bb154dcfb factory_bot (6.5.4) sha256=4707fb7d80a7c14d71feb069460587bfc342e4ff1ef28097e0ad69d5ddfce613 factory_bot_rails (6.5.0) sha256=4a7b61635424a57cc60412a18b72b9dcfb02fabfce2c930447a01dce8b37c0a2 - faker (3.5.1) sha256=1ad1fbea279d882f486059c23fe3ddb816ccd1d7052c05a45014b4450d859bfc + faker (3.5.2) sha256=f9a80291b2e3f259801d1dd552f0732fe04dce5d1f74e798365bc0413789c473 fugit (1.11.1) sha256=e89485e7be22226d8e9c6da411664d0660284b4b1c08cacb540f505907869868 globalid (1.2.1) sha256=70bf76711871f843dbba72beb8613229a49429d1866828476f9c9d6ccc327ce9 httparty (0.23.1) sha256=3ac1dd62f2010f6ece551716f5ceec2b2012011d89f1751917ab7f724e966b55 From ba8eb8b85ebd82829cb3465a2c5ed4bc072af795 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sat, 5 Jul 2025 13:10:34 +0200 Subject: [PATCH 75/88] Configure SMTP settings --- config/environments/production.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/environments/production.rb b/config/environments/production.rb index 7da12a5..2a382d0 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -72,6 +72,14 @@ Rails.application.configure do # config.active_job.queue_name_prefix = "wedding_planner_production" config.action_mailer.perform_caching = false + config.action_mailer.delivery_method = :smtp + config.action_mailer.smtp_settings = { + address: File.read(ENV["SMTP_ADDRESS"]).strip, + port: File.read(ENV["SMTP_PORT"]).strip, + user_name: File.read(ENV["SMTP_USER_NAME"]).strip, + password: File.read(ENV["SMTP_PASSWORD"]).strip, + authentication: File.read(ENV["SMTP_AUTHENTICATION"].strip&.to_sym) + } # Ignore bad email addresses and do not raise email delivery errors. # Set this to true and configure the email server for immediate delivery to raise delivery errors. From d6607cd9979d68cffd0af576f7930fc53b345655 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sat, 5 Jul 2025 13:27:04 +0200 Subject: [PATCH 76/88] Fix location of SMTP secrets --- config/environments/production.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 2a382d0..b42f8a4 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -74,11 +74,11 @@ Rails.application.configure do config.action_mailer.perform_caching = false config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { - address: File.read(ENV["SMTP_ADDRESS"]).strip, - port: File.read(ENV["SMTP_PORT"]).strip, - user_name: File.read(ENV["SMTP_USER_NAME"]).strip, - password: File.read(ENV["SMTP_PASSWORD"]).strip, - authentication: File.read(ENV["SMTP_AUTHENTICATION"].strip&.to_sym) + address: File.read("/run/secrets/smtp_address").strip, + port: File.read("/run/secrets/smtp_port").strip.to_i, + user_name: File.read("/run/secrets/smtp_user_name").strip, + password: File.read("/run/secrets/smtp_password").strip, + authentication: File.read("/run/secrets/smtp_authentication").strip.to_sym } # Ignore bad email addresses and do not raise email delivery errors. From b3f339a02b368b39f7b6ed6fdf1da4c71924b7d2 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sat, 5 Jul 2025 13:33:56 +0200 Subject: [PATCH 77/88] Avoid error in case SMTP configuration is not present --- config/environments/production.rb | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index b42f8a4..37f08f2 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -73,13 +73,19 @@ Rails.application.configure do config.action_mailer.perform_caching = false config.action_mailer.delivery_method = :smtp - config.action_mailer.smtp_settings = { - address: File.read("/run/secrets/smtp_address").strip, - port: File.read("/run/secrets/smtp_port").strip.to_i, - user_name: File.read("/run/secrets/smtp_user_name").strip, - password: File.read("/run/secrets/smtp_password").strip, - authentication: File.read("/run/secrets/smtp_authentication").strip.to_sym - } + config.action_mailer.smtp_settings = begin + { + address: File.read("/run/secrets/smtp_address").strip, + port: File.read("/run/secrets/smtp_port").strip.to_i, + user_name: File.read("/run/secrets/smtp_user_name").strip, + password: File.read("/run/secrets/smtp_password").strip, + authentication: File.read("/run/secrets/smtp_authentication").strip.to_sym + } + rescue Errno::ENOENT + {} + end + end + # Ignore bad email addresses and do not raise email delivery errors. # Set this to true and configure the email server for immediate delivery to raise delivery errors. From ba97a3155a8e5566b32e8e4cf4741a76a2a78923 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sat, 5 Jul 2025 13:44:54 +0200 Subject: [PATCH 78/88] Fix syntax error --- config/environments/production.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 37f08f2..c94e5df 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -81,9 +81,8 @@ Rails.application.configure do password: File.read("/run/secrets/smtp_password").strip, authentication: File.read("/run/secrets/smtp_authentication").strip.to_sym } - rescue Errno::ENOENT - {} - end + rescue Errno::ENOENT + {} end From ff8918a1d430864b98df152a7a0e3334fc4840bd Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 6 Jul 2025 18:11:08 +0200 Subject: [PATCH 79/88] Define a new email that will be sent to admins when a guest changes their attendance status --- app/mailers/admin_mailer.rb | 16 +++++++ app/models/wedding.rb | 1 + .../attendance_change_email.html.erb | 15 ++++++ .../attendance_change_email.text.erb | 7 +++ config/locales/en.yml | 46 +++++++------------ 5 files changed, 56 insertions(+), 29 deletions(-) create mode 100644 app/mailers/admin_mailer.rb create mode 100644 app/views/admin_mailer/attendance_change_email.html.erb create mode 100644 app/views/admin_mailer/attendance_change_email.text.erb diff --git a/app/mailers/admin_mailer.rb b/app/mailers/admin_mailer.rb new file mode 100644 index 0000000..302673a --- /dev/null +++ b/app/mailers/admin_mailer.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +class AdminMailer < ApplicationMailer + def attendance_change_email + @guest = Guest.find(params[:guest_id]) + + mail( + to: @guest.wedding.users.pluck(:email), + subject: I18n.t( + 'admin_mailer.attendance_change_email.subject', + name: @guest.name, + status: I18n.t("active_record.attributes.guest/status.#{@guest.status}") + ) + ) + end +end diff --git a/app/models/wedding.rb b/app/models/wedding.rb index 36e3ca8..f2b34f6 100644 --- a/app/models/wedding.rb +++ b/app/models/wedding.rb @@ -23,5 +23,6 @@ class Wedding < ApplicationRecord has_many :guests, dependent: :delete_all has_many :groups, dependent: :delete_all has_many :invitations, dependent: :delete_all + has_many :users, dependent: :delete_all has_one :website, dependent: :destroy end diff --git a/app/views/admin_mailer/attendance_change_email.html.erb b/app/views/admin_mailer/attendance_change_email.html.erb new file mode 100644 index 0000000..bac5c40 --- /dev/null +++ b/app/views/admin_mailer/attendance_change_email.html.erb @@ -0,0 +1,15 @@ +

<%= I18n.t('admin_mailer.greeting') %>,

+ +

+ <%= I18n.t('admin_mailer.attendance_change_email.paragraph_1', name: @guest.name) %> +

+ +
    +
  • + <%= I18n.t("active_record.attributes.guest.status") %>: <%= I18n.t("active_record.attributes.guest/status.#{@guest.status}") %> +
  • +
+ +

+ <%= I18n.t("admin_mailer.attendance_change_email.notify_on_updates") %> +

\ No newline at end of file diff --git a/app/views/admin_mailer/attendance_change_email.text.erb b/app/views/admin_mailer/attendance_change_email.text.erb new file mode 100644 index 0000000..120e824 --- /dev/null +++ b/app/views/admin_mailer/attendance_change_email.text.erb @@ -0,0 +1,7 @@ +<%= I18n.t('admin_mailer.greeting') %>, + +<%= I18n.t('admin_mailer.attendance_change_email.paragraph_1', name: @guest.name) %> + +- <%= I18n.t("active_record.attributes.guest.status") %>: <%= I18n.t("active_record.attributes.guest/status.#{@guest.status}") %> + +<%= I18n.t("admin_mailer.attendance_change_email.notify_on_updates") %> \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index 6c349ae..b85268e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,31 +1,19 @@ -# Files in the config/locales directory are used for internationalization and -# are automatically loaded by Rails. If you want to use locales other than -# English, add the necessary files in this directory. -# -# To use the locales, use `I18n.t`: -# -# I18n.t "hello" -# -# In views, this is aliased to just `t`: -# -# <%= t("hello") %> -# -# To use a different locale, set it with `I18n.locale`: -# -# I18n.locale = :es -# -# This would use the information in config/locales/es.yml. -# -# To learn more about the API, please read the Rails Internationalization guide -# at https://guides.rubyonrails.org/i18n.html. -# -# Be aware that YAML interprets the following case-insensitive strings as -# booleans: `true`, `false`, `on`, `off`, `yes`, `no`. Therefore, these strings -# must be quoted to be interpreted as strings. For example: -# -# en: -# "yes": yup -# enabled: "ON" - en: hello: "Hello world" + active_record: + attributes: + guest: + status: Status + guest/status: + considered: Considered + invited: Invited + confirmed: Confirmed + declined: Declined + tentative: Tentative + + admin_mailer: + greeting: "Dear user" + attendance_change_email: + subject: "%{name} has changed their attendance status: %{status}" + paragraph_1: "The guest %{name} has changed their attendance for the wedding." + notify_on_updates: "You will be notified of any further changes to their attendance status." From d236e459cdc4d7736c9e6a4edf83fed7dcef9766 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 6 Jul 2025 18:30:35 +0200 Subject: [PATCH 80/88] Send an email whenever an anonymous session updates the attendance status of a guest --- app/controllers/guests_controller.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/controllers/guests_controller.rb b/app/controllers/guests_controller.rb index 62530ce..0892c12 100644 --- a/app/controllers/guests_controller.rb +++ b/app/controllers/guests_controller.rb @@ -22,7 +22,13 @@ class GuestsController < ApplicationController end def update - guest = Guest.find(params[:id]).update!(guest_params) + guest = Guest.find(params[:id]) + guest.update!(guest_params) + + if !user_signed_in? && guest.saved_change_to_status? + AdminMailer.with(guest_id: guest.id).attendance_change_email.deliver_later + end + render json: guest.as_json(GUEST_PARAMS), status: :ok end From 29b3fca80c9a9da82ab5961edfe38e5e559404e6 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 6 Jul 2025 16:32:02 +0000 Subject: [PATCH 81/88] Add copyright notice --- app/mailers/admin_mailer.rb | 2 ++ app/views/admin_mailer/attendance_change_email.html.erb | 2 ++ app/views/admin_mailer/attendance_change_email.text.erb | 2 ++ 3 files changed, 6 insertions(+) diff --git a/app/mailers/admin_mailer.rb b/app/mailers/admin_mailer.rb index 302673a..af77c4f 100644 --- a/app/mailers/admin_mailer.rb +++ b/app/mailers/admin_mailer.rb @@ -1,3 +1,5 @@ +# Copyright (C) 2024-2025 LibreWeddingPlanner contributors + # frozen_string_literal: true class AdminMailer < ApplicationMailer diff --git a/app/views/admin_mailer/attendance_change_email.html.erb b/app/views/admin_mailer/attendance_change_email.html.erb index bac5c40..19e742c 100644 --- a/app/views/admin_mailer/attendance_change_email.html.erb +++ b/app/views/admin_mailer/attendance_change_email.html.erb @@ -1,3 +1,5 @@ +<%# Copyright (C) 2024-2025 LibreWeddingPlanner contributors %> +

<%= I18n.t('admin_mailer.greeting') %>,

diff --git a/app/views/admin_mailer/attendance_change_email.text.erb b/app/views/admin_mailer/attendance_change_email.text.erb index 120e824..faf1af0 100644 --- a/app/views/admin_mailer/attendance_change_email.text.erb +++ b/app/views/admin_mailer/attendance_change_email.text.erb @@ -1,3 +1,5 @@ +<%# Copyright (C) 2024-2025 LibreWeddingPlanner contributors %> + <%= I18n.t('admin_mailer.greeting') %>, <%= I18n.t('admin_mailer.attendance_change_email.paragraph_1', name: @guest.name) %> From 1586f88986bd19f70431aa5d3a1f5d872125e054 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 6 Jul 2025 19:32:31 +0200 Subject: [PATCH 82/88] Enable TLS in email delivery --- config/environments/production.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index c94e5df..b026af1 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -79,7 +79,8 @@ Rails.application.configure do port: File.read("/run/secrets/smtp_port").strip.to_i, user_name: File.read("/run/secrets/smtp_user_name").strip, password: File.read("/run/secrets/smtp_password").strip, - authentication: File.read("/run/secrets/smtp_authentication").strip.to_sym + authentication: File.read("/run/secrets/smtp_authentication").strip.to_sym, + tls: true } rescue Errno::ENOENT {} From eabba2109a16a07e131fce308f968c9e8e31b4ac Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 6 Jul 2025 19:37:33 +0200 Subject: [PATCH 83/88] Update FROM address for email delivery --- app/mailers/application_mailer.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index b28db31..6e91239 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -3,6 +3,16 @@ # frozen_string_literal: true class ApplicationMailer < ActionMailer::Base - default from: 'from@example.com' + class << self + private + + def default_from + File.read('/run/secrets/smtp_user_name').strip + rescue Errno::ENOENT + 'development@example.com' + end + end + + default from: default_from layout 'mailer' end From 397a0f34ff96f0ae90c60297fe83cc8e6617fb17 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Tue, 8 Jul 2025 19:23:16 +0200 Subject: [PATCH 84/88] Define a worker process and endpoint to send invitations PDF via email --- app/controllers/invitations_controller.rb | 6 +++ app/mailers/admin_mailer.rb | 43 +++++++++++++++---- .../invitations_pdf_email.html.erb | 7 +++ .../invitations_pdf_email.txt.erb | 5 +++ config/locales/en.yml | 3 ++ config/routes.rb | 4 +- 6 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 app/views/admin_mailer/invitations_pdf_email.html.erb create mode 100644 app/views/admin_mailer/invitations_pdf_email.txt.erb diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index 3388a9b..5a1392a 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -26,6 +26,12 @@ class InvitationsController < ApplicationController end end + def email + AdminMailer.with(wedding_id: ActsAsTenant.current_tenant.id).invitations_pdf_email.deliver_later + + head :ok + end + def sheet; end def show diff --git a/app/mailers/admin_mailer.rb b/app/mailers/admin_mailer.rb index af77c4f..c3c85d5 100644 --- a/app/mailers/admin_mailer.rb +++ b/app/mailers/admin_mailer.rb @@ -5,14 +5,41 @@ class AdminMailer < ApplicationMailer def attendance_change_email @guest = Guest.find(params[:guest_id]) - - mail( - to: @guest.wedding.users.pluck(:email), - subject: I18n.t( - 'admin_mailer.attendance_change_email.subject', - name: @guest.name, - status: I18n.t("active_record.attributes.guest/status.#{@guest.status}") + ActsAsTenant.with_tenant(@guest.wedding) do + mail( + to: recipients, + subject: I18n.t( + 'admin_mailer.attendance_change_email.subject', + name: @guest.name, + status: I18n.t("active_record.attributes.guest/status.#{@guest.status}") + ) ) - ) + end + end + + def invitations_pdf_email + ActsAsTenant.with_tenant(Wedding.find(params[:wedding_id])) do + invitations = Invitation.includes(:guests).all + + pdf_html = ActionController::Base.new.render_to_string( + template: 'invitations/sheet', + layout: 'pdf', + locals: { invitations: } + ) + pdf = WickedPdf.new.pdf_from_string(pdf_html) + + attachments["invitations_#{Time.current.strftime('%Y%m%d_%H%M%S')}.pdf"] = pdf + + mail( + to: recipients, + subject: I18n.t('admin_mailer.invitations_pdf_email.subject') + ) + end + end + + private + + def recipients + ActsAsTenant.current_tenant.users.pluck(:email) end end diff --git a/app/views/admin_mailer/invitations_pdf_email.html.erb b/app/views/admin_mailer/invitations_pdf_email.html.erb new file mode 100644 index 0000000..5976724 --- /dev/null +++ b/app/views/admin_mailer/invitations_pdf_email.html.erb @@ -0,0 +1,7 @@ +<%# Copyright (C) 2024-2025 LibreWeddingPlanner contributors %> + +

<%= I18n.t('admin_mailer.greeting') %>,

+ +

+ <%= I18n.t('admin_mailer.invitations_pdf_email.paragraph_1') %> +

diff --git a/app/views/admin_mailer/invitations_pdf_email.txt.erb b/app/views/admin_mailer/invitations_pdf_email.txt.erb new file mode 100644 index 0000000..3b3de0f --- /dev/null +++ b/app/views/admin_mailer/invitations_pdf_email.txt.erb @@ -0,0 +1,5 @@ +<%# Copyright (C) 2024-2025 LibreWeddingPlanner contributors %> + +<%= I18n.t('admin_mailer.greeting') %>, + +<%= I18n.t('admin_mailer.invitations_pdf_email.paragraph_1') %> diff --git a/config/locales/en.yml b/config/locales/en.yml index b85268e..b1dec72 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -17,3 +17,6 @@ en: subject: "%{name} has changed their attendance status: %{status}" paragraph_1: "The guest %{name} has changed their attendance for the wedding." notify_on_updates: "You will be notified of any further changes to their attendance status." + invitations_pdf_email: + subject: "Your wedding invitations are ready" + paragraph_1: "Your wedding invitations are ready. Please, find them attached to this email." diff --git a/config/routes.rb b/config/routes.rb index 4e36fa2..d9d4bf0 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -42,7 +42,9 @@ Rails.application.routes.draw do resources :tables_arrangements, only: %i[index show create] resources :summary, only: :index - resources :invitations, only: %i[show index create update destroy] + resources :invitations, only: %i[show index create update destroy] do + post :email, on: :collection + end root to: redirect("/%{slug}") end From 6478760b8daed24729fda55e70f51e854b009445 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 9 Jul 2025 02:04:57 +0000 Subject: [PATCH 85/88] Update dependency rubocop to v1.78.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d8e8f7a..caaabfa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -347,7 +347,7 @@ GEM rswag-ui (2.16.0) actionpack (>= 5.2, < 8.1) railties (>= 5.2, < 8.1) - rubocop (1.77.0) + rubocop (1.78.0) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -617,7 +617,7 @@ CHECKSUMS rswag-api (2.16.0) sha256=b653f7bd92e98be18b01ab4525d88950d7b0960e293a99f856b9efcee3ae6074 rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 rswag-ui (2.16.0) sha256=a1f49e927dceda92e6e6e7c1000f1e217ee66c565f69e28131dc98b33cd3a04f - rubocop (1.77.0) sha256=1f360b4575ef7a124be27b0dfffa227a2b2d9420d22d4fd8bf179d702bcc88c0 + rubocop (1.78.0) sha256=8b74a6f912eb4fd3e6878851f7f7f45dcad8c7185c34250d4f952b0ee80d6bc0 rubocop-ast (1.45.1) sha256=94042e49adc17f187ba037b33f941ba7398fede77cdf4bffafba95190a473a3e rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe rubocop-rails (2.32.0) sha256=9fcc623c8722fe71e835e99c4a18b740b5b0d3fb69915d7f0777f00794b30490 From b20078a1153881dbf251ab3f23a9eb39df8d358f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 12 Jul 2025 02:06:34 +0000 Subject: [PATCH 86/88] Update dependency solid_queue to v1.2.0 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index caaabfa..f79ca91 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -291,7 +291,7 @@ GEM zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.3.0) - rdoc (6.14.1) + rdoc (6.14.2) erb psych (>= 4.0.0) react-rails (3.2.1) @@ -384,7 +384,7 @@ GEM securerandom (0.4.1) shoulda-matchers (6.5.0) activesupport (>= 5.2.0) - solid_queue (1.1.5) + solid_queue (1.2.0) activejob (>= 7.1) activerecord (>= 7.1) concurrent-ruby (>= 1.3.1) @@ -598,7 +598,7 @@ CHECKSUMS railties (8.0.2) sha256=0d7c3f40c49ba74980f1bac1d4bb153a9331c5ee8a9631d89c7bf79db82e5cf9 rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a rake (13.3.0) sha256=96f5092d786ff412c62fde76f793cc0541bd84d2eb579caa529aa8a059934493 - rdoc (6.14.1) sha256=905efa796cd296ef252af4fb31fe41c073dee894de6aad715821f335c632516b + rdoc (6.14.2) sha256=9fdd44df130f856ae70cc9a264dfd659b9b40de369b16581f4ab746e42439226 react-rails (3.2.1) sha256=2235db0b240517596b1cb3e26177ab5bc64d3a56579b0415ee242b1691f81f64 redis (5.4.0) sha256=798900d869418a9fc3977f916578375b45c38247a556b61d58cba6bb02f7d06b redis-client (0.23.2) sha256=e33bab6682c8155cfef95e6dd296936bb9c2981a89fb578ace27a076fa2836fa @@ -628,7 +628,7 @@ CHECKSUMS rubyzip (2.3.2) sha256=3f57e3935dc2255c414484fbf8d673b4909d8a6a57007ed754dde39342d2373f securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 shoulda-matchers (6.5.0) sha256=ef6b572b2bed1ac4aba6ab2c5ff345a24b6d055a93a3d1c3bfc86d9d499e3f44 - solid_queue (1.1.5) sha256=bae0c9d76310f4953ebc57466f2e8c78703a0fbf4b89d25756c23c88f9b6df9b + solid_queue (1.2.0) sha256=482ac5305cbe91ebf845627caec493fda8545bf22b18205df01afb80999e28de sprockets (4.2.1) sha256=951b13dd2f2fcae840a7184722689a803e0ff9d2702d902bd844b196da773f97 sprockets-rails (3.5.2) sha256=a9e88e6ce9f8c912d349aa5401509165ec42326baf9e942a85de4b76dbc4119e stimulus-rails (1.3.4) sha256=765676ffa1f33af64ce026d26b48e8ffb2e0b94e0f50e9119e11d6107d67cb06 From bcddb802b7e2fc9b4102301cf570c5c729978149 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 15 Jul 2025 02:04:13 +0000 Subject: [PATCH 87/88] Update dependency annotaterb to v4.17.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f79ca91..33c42cf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,7 +76,7 @@ GEM rails (>= 6.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - annotaterb (4.16.0) + annotaterb (4.17.0) activerecord (>= 6.0.0) activesupport (>= 6.0.0) ast (2.4.3) @@ -497,7 +497,7 @@ CHECKSUMS activesupport (8.0.2) sha256=8565cddba31b900cdc17682fd66ecd020441e3eef320a9930285394e8c07a45e acts_as_tenant (1.0.1) sha256=6944e4d64533337938a8817a6b4ff9b11189c9dcc0b1333bb89f3821a4c14c53 addressable (2.8.7) sha256=462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232 - annotaterb (4.16.0) sha256=3ed087a925b306036139e4191b38044390bcfc4561adece8f779f9d5ee87ca3c + annotaterb (4.17.0) sha256=f0338f8aaadd5c47fa3deaccb560a54abcdde29aca6f69f4b94726ea9256b4bd ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383 babel-source (5.8.35) sha256=79ef222a9dcb867ac2efa3b0da35b4bcb15a4bfa67b6b2dcbf1e9a29104498d9 babel-transpiler (0.7.0) sha256=4c06f4ad9e8e1cabe94f99e11df2f140bb72aca9ba067dbb49dc14d9b98d1570 From bea90af59dc6cfd220d9f310890a289c656472d3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 18 Jul 2025 02:06:51 +0000 Subject: [PATCH 88/88] Update dependency redis to v5.4.1 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 33c42cf..96589bc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -300,7 +300,7 @@ GEM execjs railties (>= 3.2) tilt - redis (5.4.0) + redis (5.4.1) redis-client (>= 0.22.0) redis-client (0.23.2) connection_pool @@ -600,7 +600,7 @@ CHECKSUMS rake (13.3.0) sha256=96f5092d786ff412c62fde76f793cc0541bd84d2eb579caa529aa8a059934493 rdoc (6.14.2) sha256=9fdd44df130f856ae70cc9a264dfd659b9b40de369b16581f4ab746e42439226 react-rails (3.2.1) sha256=2235db0b240517596b1cb3e26177ab5bc64d3a56579b0415ee242b1691f81f64 - redis (5.4.0) sha256=798900d869418a9fc3977f916578375b45c38247a556b61d58cba6bb02f7d06b + redis (5.4.1) sha256=b5e675b57ad22b15c9bcc765d5ac26f60b675408af916d31527af9bd5a81faae redis-client (0.23.2) sha256=e33bab6682c8155cfef95e6dd296936bb9c2981a89fb578ace27a076fa2836fa regexp_parser (2.10.0) sha256=cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61 reline (0.6.1) sha256=1afcc9d7cb1029cdbe780d72f2f09251ce46d3780050f3ec39c3ccc6b60675fb