Skip to content

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

Open
ale1HQagui wants to merge 10 commits intomasterfrom
ror_upgrade
Open

[868gfp7y1] RoR upgrade (v5.0.0)#20
ale1HQagui wants to merge 10 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

# Conflicts:
#	.tekton/Chart.yaml
#	.tekton/values-main.yaml
#	.tekton/values-pr.yaml
@grvp88
Copy link
Copy Markdown

grvp88 commented Apr 9, 2026

Code Review — Rails 7.2 / Ruby 3.4 Compatibility Analysis

⚠️ Sin CI configurado para esta rama (CircleCI)

No hay checks reportados en la rama ror_upgrade. Hay un .tekton/ con Helm charts pero sin pipeline de CI activo. El único CI es CircleCI, cuya config tiene solo un fix de indentación en el cache key YAML.


✅ Compatible con Rails 7.2 y Ruby 3.4

ActiveRecord::Base.send :include -> include directo

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

# Después (correcto)
ActiveRecord::Base.include HasNormalizedAttributes::ActiveRecord

Correcto. send para llamar include/extend generaba warning en Ruby 3.2+ y podría convertirse en error.

prepend Module.new { } -> prepend(Module.new do end)

# Antes
prepend Module.new { ... }

# Después (correcto para Ruby 3.4)
prepend(Module.new do ... end)

En Ruby 3.4, el bloque con {...} en contextos de prepend puede tener precedencia inesperada. Usar do...end es más explícito.

activerecord ~> 7.2 en dev deps — correcto.

🟡 Observación: rubocop como runtime dependency

s.add_dependency "rubocop", "~> 1.81"
s.add_dependency "rubocop-performance", "~> 1.26"
s.add_dependency "rubocop-rails", "~> 2.34"

Rubocop está declarado como runtime dependency (no development). Esto fuerza a todos los consumidores del gem a instalar rubocop en producción. Debería ser add_development_dependency.

@grvp88
Copy link
Copy Markdown

grvp88 commented Apr 9, 2026

TODOs antes de mergear

  • rubocop como runtime dependency — mover a add_development_dependency. Declararlo como runtime fuerza a todos los consumidores del gem a instalar rubocop, rake y sus dependencias en producción. Es innecesario y agrega ~50 gems al bundle de producción. Cambiar:
    # Cambiar de add_dependency a add_development_dependency
    s.add_development_dependency "rubocop", "~> 1.81"
    s.add_development_dependency "rubocop-performance", "~> 1.26"
    s.add_development_dependency "rubocop-rails", "~> 2.34"
  • Activar CI — este repo no tiene CI activo para la rama. CircleCI tiene config pero no está corriendo checks en ror_upgrade. Sin CI verde no se puede validar que los specs pasan.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants