From fd11510f0467cf937da1685ccb1779995f4b0bdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=A0=20Mattos?= Date: Thu, 9 Jul 2026 11:08:08 -0300 Subject: [PATCH 1/6] fix: corrige schema duplicado de turmas --- db/schema.rb | 55 ++++++++++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 34 deletions(-) diff --git a/db/schema.rb b/db/schema.rb index 966a18701c..7f3a56a64d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,6 @@ # It's strongly recommended that you check this file into your version control system. ActiveRecord::Schema[8.1].define(version: 2026_06_16_231812) do - create_table "admins", force: :cascade do |t| t.datetime "created_at", null: false t.integer "departamento_id", null: false @@ -22,32 +21,6 @@ t.index ["user_id"], name: "index_admins_on_user_id" end - create_table "departamentos", force: :cascade do |t| - t.datetime "created_at", null: false - t.string "nome", null: false - t.datetime "updated_at", null: false - t.index ["nome"], name: "index_departamentos_on_nome", unique: true - end - - create_table "templates", force: :cascade do |t| - t.datetime "created_at", null: false - t.string "nome", null: false - t.string "semestre", null: false - t.datetime "updated_at", null: false - t.integer "user_id", null: false - t.index ["user_id"], name: "index_templates_on_user_id" - end - - create_table "turmas", force: :cascade do |t| - t.string "codigo", null: false - t.datetime "created_at", null: false - t.integer "departamento_id", null: false - t.string "nome", null: false - t.datetime "updated_at", null: false - t.index ["departamento_id"], name: "index_turmas_on_departamento_id" - end - - create_table "dado_users", force: :cascade do |t| t.datetime "created_at", null: false t.string "curso" @@ -60,6 +33,13 @@ t.string "usuario" end + create_table "departamentos", force: :cascade do |t| + t.datetime "created_at", null: false + t.string "nome", null: false + t.datetime "updated_at", null: false + t.index ["nome"], name: "index_departamentos_on_nome", unique: true + end + create_table "discentes", force: :cascade do |t| t.datetime "created_at", null: false t.string "curso" @@ -86,15 +66,23 @@ t.string "usuario" end - create_table "turmas", force: :cascade do |t| - t.string "codigo" + create_table "templates", force: :cascade do |t| t.datetime "created_at", null: false - t.string "semestre" - t.string "turma" + t.string "nome", null: false + t.string "semestre", null: false t.datetime "updated_at", null: false + t.integer "user_id", null: false + t.index ["user_id"], name: "index_templates_on_user_id" end - + create_table "turmas", force: :cascade do |t| + t.string "codigo", null: false + t.datetime "created_at", null: false + t.integer "departamento_id", null: false + t.string "nome", null: false + t.datetime "updated_at", null: false + t.index ["departamento_id"], name: "index_turmas_on_departamento_id" + end create_table "users", force: :cascade do |t| t.datetime "created_at", null: false @@ -111,8 +99,7 @@ add_foreign_key "admins", "departamentos" add_foreign_key "admins", "users" + add_foreign_key "discentes", "turmas" add_foreign_key "templates", "users" add_foreign_key "turmas", "departamentos" - - add_foreign_key "discentes", "turmas" end From 12432573e4c2777b22a73f01b4bdd81d741588e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=A0=20Mattos?= Date: Thu, 9 Jul 2026 11:39:33 -0300 Subject: [PATCH 2/6] style: corrige formato do schema --- db/schema.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/db/schema.rb b/db/schema.rb index 7f3a56a64d..048e66b26c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -16,9 +16,9 @@ t.integer "departamento_id", null: false t.datetime "updated_at", null: false t.integer "user_id", null: false - t.index ["departamento_id"], name: "index_admins_on_departamento_id" - t.index ["user_id", "departamento_id"], name: "index_admins_on_user_id_and_departamento_id", unique: true - t.index ["user_id"], name: "index_admins_on_user_id" + t.index [ "departamento_id" ], name: "index_admins_on_departamento_id" + t.index [ "user_id", "departamento_id" ], name: "index_admins_on_user_id_and_departamento_id", unique: true + t.index [ "user_id" ], name: "index_admins_on_user_id" end create_table "dado_users", force: :cascade do |t| @@ -37,7 +37,7 @@ t.datetime "created_at", null: false t.string "nome", null: false t.datetime "updated_at", null: false - t.index ["nome"], name: "index_departamentos_on_nome", unique: true + t.index [ "nome" ], name: "index_departamentos_on_nome", unique: true end create_table "discentes", force: :cascade do |t| @@ -51,7 +51,7 @@ t.integer "turma_id", null: false t.datetime "updated_at", null: false t.string "usuario" - t.index ["turma_id"], name: "index_discentes_on_turma_id" + t.index [ "turma_id" ], name: "index_discentes_on_turma_id" end create_table "docentes", force: :cascade do |t| @@ -72,7 +72,7 @@ t.string "semestre", null: false t.datetime "updated_at", null: false t.integer "user_id", null: false - t.index ["user_id"], name: "index_templates_on_user_id" + t.index [ "user_id" ], name: "index_templates_on_user_id" end create_table "turmas", force: :cascade do |t| @@ -81,7 +81,7 @@ t.integer "departamento_id", null: false t.string "nome", null: false t.datetime "updated_at", null: false - t.index ["departamento_id"], name: "index_turmas_on_departamento_id" + t.index [ "departamento_id" ], name: "index_turmas_on_departamento_id" end create_table "users", force: :cascade do |t| @@ -93,8 +93,8 @@ t.string "perfil", null: false t.boolean "primeiro_acesso", default: true, null: false t.datetime "updated_at", null: false - t.index ["email"], name: "index_users_on_email", unique: true - t.index ["matricula"], name: "index_users_on_matricula", unique: true + t.index [ "email" ], name: "index_users_on_email", unique: true + t.index [ "matricula" ], name: "index_users_on_matricula", unique: true end add_foreign_key "admins", "departamentos" From c7bfb7a28eaffe802c3dcc316943324a60a7b066 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=A0=20Mattos?= Date: Thu, 9 Jul 2026 11:56:49 -0300 Subject: [PATCH 3/6] fix: corrige link de gerenciamento admin --- app/views/dashboards/admin.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/dashboards/admin.html.erb b/app/views/dashboards/admin.html.erb index 0a5cd4512e..887cd889e2 100644 --- a/app/views/dashboards/admin.html.erb +++ b/app/views/dashboards/admin.html.erb @@ -8,7 +8,7 @@ Seus testes de criação de downloads entrarão aqui
  • Início
  • -
  • <%= link_to "Gerenciamento", templates_path %>
  • +
  • <%= link_to "Gerenciamento", admin_gerenciamento_dashboard_path %>
  • <%= link_to "Turmas", turmas_path %>
From 1e263fb79f552c8f9aaf5999cbb4be6ae701e2e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=A0=20Mattos?= Date: Thu, 9 Jul 2026 12:35:29 -0300 Subject: [PATCH 4/6] style: corrige lint da sprint 2 --- Gemfile | 1 - app/controllers/dashboards_controller.rb | 4 ++-- app/mailers/user_mailer.rb | 5 ++--- app/models/turma.rb | 1 - .../importer/academic_data_importer.rb | 7 +++--- config/environments/development.rb | 2 +- config/initializers/assets.rb | 2 +- config/routes.rb | 2 +- db/migrate/20260611000003_create_turmas.rb | 2 +- .../cadastrar_usuarios_steps.rb | 22 +++++++++---------- spec/mailers/previews/user_mailer_preview.rb | 2 -- spec/mailers/user_mailer_spec.rb | 5 ++--- spec/system/cadastrar_usuarios_spec.rb | 16 +++++--------- 13 files changed, 29 insertions(+), 42 deletions(-) diff --git a/Gemfile b/Gemfile index 35902538e0..ffccc545ad 100644 --- a/Gemfile +++ b/Gemfile @@ -72,4 +72,3 @@ group :test do end gem "activerecord-import" - diff --git a/app/controllers/dashboards_controller.rb b/app/controllers/dashboards_controller.rb index 4426a400e7..e6b7123554 100644 --- a/app/controllers/dashboards_controller.rb +++ b/app/controllers/dashboards_controller.rb @@ -19,7 +19,7 @@ def admin_gerenciamento # importação do json def importar_json - # codigo de auxilio + # codigo de auxilio if params["json"].blank? puts "ERRO: O parâmetro 'json' veio vazio!" flash[:error] = "Por favor, selecione um arquivo JSON." @@ -47,7 +47,7 @@ def importar_json redirect_to admin_gerenciamento_dashboard_path end - + diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 91b44e54e3..2f9a9c5eb8 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -1,13 +1,12 @@ class UserMailer < ApplicationMailer - def primeiro_acesso(usuario) @usuario = usuario - + @url_definir_senha = definir_senha_url(email: @usuario.email) mail( to: @usuario.email, - subject: 'Bem-vindo ao CAMAAR! Defina sua senha de acesso' + subject: "Bem-vindo ao CAMAAR! Defina sua senha de acesso" ) end end diff --git a/app/models/turma.rb b/app/models/turma.rb index b489b1b006..5c8c137db0 100644 --- a/app/models/turma.rb +++ b/app/models/turma.rb @@ -5,4 +5,3 @@ class Turma < ApplicationRecord validates :codigo, presence: true validates :nome, presence: true end - diff --git a/app/services/importer/academic_data_importer.rb b/app/services/importer/academic_data_importer.rb index 6355c0fd42..77859451e6 100644 --- a/app/services/importer/academic_data_importer.rb +++ b/app/services/importer/academic_data_importer.rb @@ -40,7 +40,7 @@ def self.import!(upload_file) raw_docentes << d_user.merge("turma_id" => turma_id) end end - + unique_discentes = raw_discentes.uniq { |d| d["matricula"] } unique_docentes = raw_docentes.uniq { |d| d["email"] } @@ -69,7 +69,6 @@ def self.import!(upload_file) password_confirmation: "123456", primeiro_acesso: false ) - end User.import users_discente_objects, on_duplicate_key_ignore: true, validate: false @@ -104,7 +103,7 @@ def self.import!(upload_file) primeiro_acesso: false ) end - + User.import users_docente_objects, on_duplicate_key_ignore: true, validate: false end # registro de erros @@ -118,4 +117,4 @@ def self.import!(upload_file) true end end -end \ No newline at end of file +end diff --git a/config/environments/development.rb b/config/environments/development.rb index e01f1b671a..022b465892 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -42,7 +42,7 @@ config.action_mailer.perform_caching = false # adicionada config.action_mailer.delivery_method = :smtp - config.action_mailer.smtp_settings = { address: 'localhost', port: 1025 } + config.action_mailer.smtp_settings = { address: "localhost", port: 1025 } config.action_mailer.raise_delivery_errors = false diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index 68eced570b..487324424f 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -4,4 +4,4 @@ Rails.application.config.assets.version = "1.0" # Add additional assets to the asset load path. -# Rails.application.config.assets.paths << Emoji.images_path \ No newline at end of file +# Rails.application.config.assets.paths << Emoji.images_path diff --git a/config/routes.rb b/config/routes.rb index 9d813c8bb2..b477ad42bc 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -10,7 +10,7 @@ get "/admin", to: "dashboards#admin", as: :admin_dashboard get "/discente", to: "dashboards#discente", as: :discente_dashboard - resources :turmas, only: [:index, :show] + resources :turmas, only: [ :index, :show ] get "/avaliacao", to: "dashboards#admin_avaliacao", as: :admin_avaliacao_dashboard get "/gerenciamento", to: "dashboards#admin_gerenciamento", as: :admin_gerenciamento_dashboard diff --git a/db/migrate/20260611000003_create_turmas.rb b/db/migrate/20260611000003_create_turmas.rb index 324a402ce8..cb65667751 100644 --- a/db/migrate/20260611000003_create_turmas.rb +++ b/db/migrate/20260611000003_create_turmas.rb @@ -4,7 +4,7 @@ def change t.references :departamento, null: false, foreign_key: true t.string :codigo, null: false t.string :nome, null: false - + t.string :turma t.string :semestre diff --git a/features/step_definitions/cadastrar_usuarios_steps.rb b/features/step_definitions/cadastrar_usuarios_steps.rb index b6332a46aa..130bb38b2d 100644 --- a/features/step_definitions/cadastrar_usuarios_steps.rb +++ b/features/step_definitions/cadastrar_usuarios_steps.rb @@ -36,7 +36,7 @@ Quando('eu clico em {string}') do |string| @import_usuarios = 'Importar Dados' expect(page).to have_content(@import_usuarios) # mudar para have_link ou have_button dependendo do tipo de elemento - + find('label', text: @import_usuarios).click end @@ -45,14 +45,13 @@ @arquivo_json = Rails.root.join('class_members.json') attach_file('arquivo_json', @arquivo_json, visible: :any) - + click_button('botao_enviar_oculto', visible: false) - #div_arquivo = find('#secao_importa').trigger('submit') - #expect(page).to have_content(@import_usuarios) # mudar para have_link ou have_button dependendo do tipo de elemento - - #find('label', text: @import_usuarios).click + # div_arquivo = find('#secao_importa').trigger('submit') + # expect(page).to have_content(@import_usuarios) # mudar para have_link ou have_button dependendo do tipo de elemento + # find('label', text: @import_usuarios).click end @@ -105,7 +104,6 @@ Então('o usuário não deve ter acesso ao sistema até que a senha seja definida') do expect(@discente_user.reload.primeiro_acesso).to be(true) - end @@ -115,7 +113,7 @@ @discente_user.update!(primeiro_acesso: false, password: "1234567", password_confirmation: "1234567") end -Então('o sistema deve atualizar o status do usuário para {string}') do +Então('o sistema deve atualizar o status do usuário para {string}') do expect(@discente_user.primeiro_acesso).to be(false) end @@ -138,16 +136,16 @@ Quando('seleciono um arquivo JSON contendo os dados de novos usuários') do expect(page).to have_link(@opcao_menu) # mudar para have_link ou have_button dependendo do tipo de elemento click_link @opcao_menu - + @import_usuarios = 'Importar Dados' expect(page).to have_content(@import_usuarios) # mudar para have_link ou have_button dependendo do tipo de elemento - + find('label', text: @import_usuarios).click @arquivo_json = Rails.root.join('class_members.json') attach_file('arquivo_json', @arquivo_json, visible: :any) - + click_button('botao_enviar_oculto', visible: false) end @@ -177,4 +175,4 @@ Então('o sistema não deve criar solicitações de definição de senha para os usuários duplicados') do expect(page).to have_current_path('/admin') -end \ No newline at end of file +end diff --git a/spec/mailers/previews/user_mailer_preview.rb b/spec/mailers/previews/user_mailer_preview.rb index 3e64a10b77..7208339ce8 100644 --- a/spec/mailers/previews/user_mailer_preview.rb +++ b/spec/mailers/previews/user_mailer_preview.rb @@ -1,9 +1,7 @@ # Preview all emails at http://localhost:3000/rails/mailers/user_mailer_mailer class UserMailerPreview < ActionMailer::Preview - # Preview this email at http://localhost:3000/rails/mailers/user_mailer_mailer/primeiro_acesso def primeiro_acesso UserMailer.primeiro_acesso end - end diff --git a/spec/mailers/user_mailer_spec.rb b/spec/mailers/user_mailer_spec.rb index e5cf9fc9f3..f16f00d2ba 100644 --- a/spec/mailers/user_mailer_spec.rb +++ b/spec/mailers/user_mailer_spec.rb @@ -6,13 +6,12 @@ it "renders the headers" do expect(mail.subject).to eq("Primeiro acesso") - expect(mail.to).to eq(["to@example.org"]) - expect(mail.from).to eq(["from@example.com"]) + expect(mail.to).to eq([ "to@example.org" ]) + expect(mail.from).to eq([ "from@example.com" ]) end it "renders the body" do expect(mail.body.encoded).to match("Hi") end end - end diff --git a/spec/system/cadastrar_usuarios_spec.rb b/spec/system/cadastrar_usuarios_spec.rb index b672f4e9ea..4fe812eaa8 100644 --- a/spec/system/cadastrar_usuarios_spec.rb +++ b/spec/system/cadastrar_usuarios_spec.rb @@ -59,9 +59,8 @@ @import_usuarios = 'Importar Dados' expect(page).to have_content(@import_usuarios) # mudar para have_link ou have_button dependendo do tipo de elemento - - find('label', text: @import_usuarios).click + find('label', text: @import_usuarios).click end it "Importar e selecionar o arquivo json" do @@ -77,19 +76,17 @@ @import_usuarios = 'Importar Dados' expect(page).to have_content(@import_usuarios) # mudar para have_link ou have_button dependendo do tipo de elemento - + find('label', text: @import_usuarios).click @arquivo_json = Rails.root.join('class_members.json') attach_file('arquivo_json', @arquivo_json, visible: :any) - - click_button('botao_enviar_oculto', visible: false) - #div_arquivo = find('#secao_importa').trigger('submit') - #expect(page).to_not have_content('Nenhuma turma cadastrada.') - + click_button('botao_enviar_oculto', visible: false) + # div_arquivo = find('#secao_importa').trigger('submit') + # expect(page).to_not have_content('Nenhuma turma cadastrada.') end it "Dados validos de importação" do @@ -104,7 +101,7 @@ click_link 'Gerenciamento' @import_usuarios = 'Importar Dados' - + find('label', text: @import_usuarios).click @arquivo_json = Rails.root.join('class_members.json') @@ -117,5 +114,4 @@ expect(Discente.count).to be > 0 expect(Docente.count).to be > 0 end - end From 279b1d642a3f2579806aa7e7628aa05e7142b78e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=A0=20Mattos?= Date: Thu, 9 Jul 2026 12:57:24 -0300 Subject: [PATCH 5/6] chore: atualiza gems vulneraveis --- Gemfile.lock | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7208ffc91c..da60f70125 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -104,7 +104,7 @@ GEM xpath (~> 3.2) concurrent-ruby (1.3.7) connection_pool (3.0.2) - crass (1.0.6) + crass (1.0.7) cucumber (10.2.0) base64 (~> 0.2) builder (~> 3.2) @@ -237,19 +237,19 @@ GEM net-protocol net-ssh (7.3.2) nio4r (2.7.5) - nokogiri (1.19.3-aarch64-linux-gnu) + nokogiri (1.19.4-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.19.3-aarch64-linux-musl) + nokogiri (1.19.4-aarch64-linux-musl) racc (~> 1.4) - nokogiri (1.19.3-arm-linux-gnu) + nokogiri (1.19.4-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.19.3-arm-linux-musl) + nokogiri (1.19.4-arm-linux-musl) racc (~> 1.4) - nokogiri (1.19.3-arm64-darwin) + nokogiri (1.19.4-arm64-darwin) racc (~> 1.4) - nokogiri (1.19.3-x86_64-linux-gnu) + nokogiri (1.19.4-x86_64-linux-gnu) racc (~> 1.4) - nokogiri (1.19.3-x86_64-linux-musl) + nokogiri (1.19.4-x86_64-linux-musl) racc (~> 1.4) ostruct (0.6.3) parallel (2.1.0) @@ -518,7 +518,7 @@ CHECKSUMS capybara (3.40.0) sha256=42dba720578ea1ca65fd7a41d163dd368502c191804558f6e0f71b391054aeef concurrent-ruby (1.3.7) sha256=4412caec3a5ea2e5fdc52076724c071a81f2c0593d83b2ac8cbb8ca63b3151b0 connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a - crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d + crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295 cucumber (10.2.0) sha256=fdedbd31ecf40858b60f04853f2aa15c44f5c30bbac29c6a227fa1e7005a8158 cucumber-ci-environment (11.0.0) sha256=0df79a9e1d0b015b3d9def680f989200d96fef206f4d19ccf86a338c4f71d1e2 cucumber-core (16.2.0) sha256=592b58a95cf42feef8e5a349f68e363784ba3b6568ffbcf6776e38e136cf970b @@ -580,13 +580,13 @@ CHECKSUMS net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736 net-ssh (7.3.2) sha256=65029e213c380e20e5fd92ece663934ab0a0fe888e0cd7cc6a5b664074362dd4 nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1 - nokogiri (1.19.3-aarch64-linux-gnu) sha256=46b89e5d7b9e844c2ee360794240c6ea2a4e6fa0c5892a4ed487db621224b639 - nokogiri (1.19.3-aarch64-linux-musl) sha256=8392dfdcd21be7a94dbbe9ccc138dea01b97b24cb2dc02a114ca98bfb1d9a0b7 - nokogiri (1.19.3-arm-linux-gnu) sha256=3919d5ffc334ad778a4a9eb88fda7dcb8b1fb58c8a52ac640c6dcd2f038e774f - nokogiri (1.19.3-arm-linux-musl) sha256=9ce1cb6346bb9c67b1550eb537aa183ead91e4b6eadb2f36ade02d8dd2a79fb6 - nokogiri (1.19.3-arm64-darwin) sha256=71b9bd424b1b7abc18b05052a1a3cfd3627abdca62be280854cc411791357e42 - nokogiri (1.19.3-x86_64-linux-gnu) sha256=2f5078620fe12e83669b5b17311b32532a8153d02eee7ad06948b926d6080976 - nokogiri (1.19.3-x86_64-linux-musl) sha256=248c906d2166eca5efb56d52fdee5f9a1f51d69a72e2b64fdac647b4ce39ea3f + nokogiri (1.19.4-aarch64-linux-gnu) sha256=1269fb644a6de405057a53dd5c762b1209b43ca7424f839454d3dbc677c31a8f + nokogiri (1.19.4-aarch64-linux-musl) sha256=35c65b9ce72b3bb03207bdbe7067915019dc18c1b9b59139684bd6690fdd01af + nokogiri (1.19.4-arm-linux-gnu) sha256=a301313e38bb065d68239e79734bcd6f56fb6efaacebde29e9abf2a4735340ca + nokogiri (1.19.4-arm-linux-musl) sha256=588923c101bcfa78869734d247d25b598674323e7f22474fc468f6e5647311eb + nokogiri (1.19.4-arm64-darwin) sha256=a46db9853286e6597b36ebc6953817d15acf3a299583eb3f89fdc6f91dd63527 + nokogiri (1.19.4-x86_64-linux-gnu) sha256=379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a + nokogiri (1.19.4-x86_64-linux-musl) sha256=17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912 parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356 parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54 @@ -627,10 +627,8 @@ CHECKSUMS ruby-vips (2.3.0) sha256=e685ec02c13969912debbd98019e50492e12989282da5f37d05f5471442f5374 rubyzip (3.4.0) sha256=6de39bc9eba302b635a476d16c9e16b0872ad24517c2f98f2b3a7ea23caff57b securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 - selenium-webdriver (4.45.0) sha256=ecac65a4df86ac6f7d707e6dcbacaa9c08b6cf2b966babecfb9653c5aa13e2d1 shoulda-matchers (5.3.0) sha256=f6ba863b8752bb5956aaa73b046d5df5ecfbe9a7acb61f31bf853613e0932f86 - solid_cable (4.0.0) sha256=8379680ef6bf36e195eb876a6306ea290f87d5fa10bc4a757bc2a918f83229b5 solid_cache (1.0.10) sha256=bc05a2fb3ac78a6f43cbb5946679cf9db67dd30d22939ededc385cb93e120d41 solid_queue (1.4.0) sha256=e6a18d196f0b27cb6e3c77c5b31258b05fb634f8ed64fb1866ed164047216c2a From 7a0fcde194219461c511d51f8667066c5866be24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=A0=20Mattos?= Date: Thu, 9 Jul 2026 13:06:16 -0300 Subject: [PATCH 6/6] chore: atualiza websocket-driver vulneravel --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index da60f70125..cc72227615 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -437,7 +437,7 @@ GEM bindex (>= 0.4.0) railties (>= 8.0.0) websocket (1.2.11) - websocket-driver (0.8.1) + websocket-driver (0.8.2) base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) @@ -658,7 +658,7 @@ CHECKSUMS useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844 web-console (4.3.0) sha256=e13b71301cdfc2093f155b5aa3a622db80b4672d1f2f713119cc7ec7ac6a6da4 websocket (1.2.11) sha256=b7e7a74e2410b5e85c25858b26b3322f29161e300935f70a0e0d3c35e0462737 - websocket-driver (0.8.1) sha256=5ab238238ce230e5d4b262d2be39624c867914eab99171dc4952b58b577c2d96 + websocket-driver (0.8.2) sha256=97c556b019bf3410b4961002ac501621e9322d3f8a7bc02161a09301cc4c4146 websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241 xpath (3.2.0) sha256=6dfda79d91bb3b949b947ecc5919f042ef2f399b904013eb3ef6d20dd3a4082e zeitwerk (2.8.2) sha256=7212a61311083c604184b1ea2574b9aa05cd14f855a0841c06985cabe9181d12