Quería crear un generador que creara archivos (y directorios, etc.) basados en archivos ya existentes en la aplicación (por ejemplo, las vistas o los controladores). Así que si hubiéramos vistas configurar como estoRails Generator: generar archivos basados en archivos de rieles ya existentes
-app
-views
- layouts
- application.html.erb
- users
- index.html.erb
- show.html.erb
- etc ...
y quería crear archivos basados en ellos que puedo hacer (con sólo rubí)
directories = Dir.entries("#{Rails.root}/app/views")
directories.each do |directory|
unless directory == "." or directory == ".."
files = Dir.entries("#{Rails.root}/app/views/#{directory}")
files.each do |file|
unless file == "." or file == ".."
text = File.read("#{Rails.root}/app/views/#{directory}/#{file}")
something #=> whatever else needs to go here to edit the file
something else #=> output_file.puts whatever
end
end
end
end
por lo que este es básicamente lo que me gustaría hacer con un generador para poder convertir mi código en un complemento y usarlo para otras aplicaciones.
Primera pregunta, cómo puedo generar archivos arbitrarios (con nombres de archivo basados en nombres de archivo existentes utilizando el generador. ¿Es apropiado para desplazarse por los directorios como lo hice anteriormente, agarrar el directorio/archivo y generar archivos? ¿Hay una manera de hacer lo que hice usando un método más simple (el mío parece fácilmente rompible).
Además, debería poner toda esa lectura/formato/escritura de código dentro del propio generador y sólo tiene que pasar una cadena en la "initialize content"
sección de create_file
o debería ponerlo en otro lugar. ¿O debería usar el generador para crear los archivos desnudos y popul comió con un guión de inicio?
¿Hay más carriles tipo de forma de llenar los archivos generados, o debería simplemente meter todo mi código de formato dentro del generador. Si es así, ¿cuál es la forma apropiada de abordar esto?
Su pregunta termina abruptamente "Si es así, ¿cuál es la". ¿Tienes más para agregar? –