Skip to content

[868gfp7y1] RoR upgrade (v5.0.0)#18

Open
ale1HQagui wants to merge 9 commits intomasterfrom
ror_upgrade
Open

[868gfp7y1] RoR upgrade (v5.0.0)#18
ale1HQagui wants to merge 9 commits intomasterfrom
ror_upgrade

Conversation

@ale1HQagui
Copy link
Copy Markdown

Description

Please describe your pull request and any relevant information.

Risk Level

  • Low
  • Med
  • High

Rollback Plan

Please describe and add steps for rollback if needed.

Screenshots

Screenshots or videos of the feature/fix if needed.

Checklist

  • I linked the change to an approved ticket
  • I have added/updated appropriate tests and evidence
  • I considered security/privacy impact
  • I updated docs/runbook if needed
  • I added a changelog/version entry for this PR

@grvp88
Copy link
Copy Markdown

grvp88 commented Apr 9, 2026

Code Review — Rails 7.2 / Ruby 3.4 Compatibility Analysis

🔴 Blocker: build-ci-image failing

Problema transversal del upgrade. Fix pendiente antes de mergear.


✅ Compatible con Rails 7.2 y Ruby 3.4

Este PR es idéntico al anterior (#17) ya mergeado en ror_upgrade. La diferencia es que este target es master.

Puntos clave de compatibilidad:

ActiveRecord::Base.send :includeinclude directo

# Antes (deprecated warning en Ruby 3.x)
::ActiveRecord::Base.send :include, ::HasSafeDates::CoreExt

# Después (correcto)
::ActiveRecord::Base.include ::HasSafeDates::CoreExt
::ActiveRecord::Base.prepend ::HasSafeDates::DateTimeExt

En Ruby 3.2+, include y prepend son métodos públicos en Module. Usar send para llamarlos generaba un deprecation warning que se convierte en error en versiones futuras.

activerecord ~> 7.2 en dev deps — tests corren contra el target correcto.

stdlib gems declarados en Gemfile (base64, benchmark, bigdecimal, logger, mutex_m, ostruct) — Ruby 3.4 los removió del stdlib. Sin estos, fallaría en producción con LoadError.

Spec suite completamente modernizadashouldexpect, RSpec.describe, do...end blocks. No hay impacto en compatibilidad pero es mejor práctica.

@grvp88
Copy link
Copy Markdown

grvp88 commented Apr 9, 2026

TODOs antes de mergear

  • Resolver build-ci-image — blocker.
  • rubyVersion: 3.0.2 en .tekton/values.yaml — el tekton values.yaml todavía tiene rubyVersion: 3.0.2 sin actualizar. Si el CI usa este valor para buildear la imagen, el container va a correr Ruby 3.0.2 en lugar de 3.4.4. Actualizar a 3.4.4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants