edwardila
(Edward Skalibog)
21 Septiembre, 2021 16:39
1
Hola, equipo de Discourse:
Quiero ofrecerles una solución interesante para el Gemfile en el directorio de plugins y para agregar gems externas si son necesarias.
# Cargar los Gemfiles de los plugins
Dir.glob File.expand_path("../plugins/*/{Gemfile}", __FILE__) do |file|
eval_gemfile file
end
Si añadimos esto al Gemfile principal, podremos cargar los Gemfiles de los plugins.
Hablemos de esta solución.
P.D. Documentación de la DSL para eval_gemfile => https://apidock.com/ruby/v2_6_3/Bundler/Dsl/eval_gemfile
2 Me gusta
Falco
(Falco)
21 Septiembre, 2021 16:48
2
¡Eso es interesante! Por el momento, los plugins pueden requerir gemas listando todo el árbol de dependencias recursivas en el archivo plugin.rb, por ejemplo:
2 Me gusta
edwardila
(Edward Skalibog)
21 Septiembre, 2021 16:53
3
Gracias, esto es lo que estaba buscando.
Pero creo que mi decisión es más clara y comprensible para mí.
Razones (en mi opinión):
Dejamos plugin.rb más limpio.
Gemfile es más comprensible para los desarrolladores de Rails.
1 me gusta
sam
(Sam Saffron)
28 Septiembre, 2021 06:39
4
Desafortunadamente, esto significa que el archivo de bloqueo se convertirá en un objetivo móvil, y lo incluimos en el control de versiones.
Los archivos Gem son agradables, pero hasta que podamos enviar archivos de bloqueo delta, este tipo de solución no funcionará.