2011-11-27 6 views
8

¿Alguien sabe un convertidor que toma una lista de archivos fuente ruby ​​y reemplaza confiablemente todos los hashes estilo antiguo (hash-rocket) por nuevo estilo (ruby 1.9) sintaxis hash? :)Convertir código fuente ruby ​​del viejo estilo al nuevo estilo hash

+8

Por pura curiosidad: ¿Por qué? –

+0

probablemente sea una mala idea hacer esto; lo único que podría introducir son errores. – Tilo

+0

Creo que hay una joya para eso (tm) que se mencionó en rubyflow hace unos meses. –

Respuesta

21

Rubocop es un analizador de código estático que evalúa su código contra muchas de las recomendaciones de la Guía de estilo de Ruby. Tiene una opción --auto-correct que puede cambiar automáticamente su código a lo recomendado. Una de esas opciones de autocorrección es para hash syntax.

Ejemplo:

rubocop --only HashSyntax --auto-correct 

sólo se corregirá sus hashes.

+0

si quiere autocorregir todas las correcciones, simplemente puede ejecutar un comando 'rubocop' con la opción' --auto-correct'. – Swaps

12

La gema hash_syntax es capaz de convertir el hash antiguo al nuevo estilo hash, o viceversa.

Una vez que haya instalado la gema, sólo hay que hacer en el directorio raíz del proyecto

hash_syntax --to-19 

convertir de viejo al nuevo, o

hash_syntax --to-18 

convertir de nuevo a la edad .

+4

'hash_syntax' es antiguo, se bloquea cuando se ejecuta sobre nuestra base de código y no modifica todo correctamente. Use rubocop. – iblue

Cuestiones relacionadas