rails awesome ruby-on-rails plugins gem

ruby-on-rails - awesome rails



Construye un plugin o gema? (3)

Los complementos se están volviendo obsoletos ahora que puede administrar gemas a través de la declaración "config.gem" en environment.rb. Las gemas están disponibles en todo el sistema (no solo en una aplicación), y están versionadas a diferencia de los complementos.

He convertido todos mis complementos a gemas recientemente. Es fácil de hacer y vale la pena.

Normalmente, creo un complemento cuando tengo un módulo que sé que voy a necesitar nuevamente en mis otros proyectos, sin embargo, también podrían empaquetarse como gemas.

¿Cuándo debería estar construyendo una joya antes que crear un complemento? ¿Hay algún criterio para hacer la llamada?


Rails parece moverse hacia la dirección de la gema. He convertido la mayoría de mis complementos a gemas ahora. Las gemas son más fáciles de administrar y se adaptan mejor en el ecosistema de Ruby. ¿Por qué necesitamos dos sistemas separados de todos modos?

Sin embargo, todavía hay un problema con las gemas: no es posible agregar tareas de rake a una aplicación de Rails desde una gema. Probablemente lo mismo se aplica a los generadores, aunque no estoy seguro. Si los usa en su complemento, aún no es posible migrar a una gema. Espero que esto se solucione pronto.


puedes agregar generadores a los rieles mediante gemas. en realidad es bastante fácil, puedes agregar un directorio rails_generators a tu joya. (Creo que otros nombres de directorio funcionarán; no estoy seguro de qué tipo de raíles busca). ejemplo: http://github.com/remi/rackbox/tree/a21c21667c68d5fd51357e28f0742171e9161e9b/rails_generators

en cuanto a agregar tareas de rake ... aún tengo que descubrir cómo hacer eso: /

por ahora, estoy haciendo que mis generadores agreguen require ''myproject/rails/tasks'' (o algo así) al Rakefile del proyecto como una forma de agregar tareas de rake a los rieles de una gema.

muchas gemas te piden que las "arranque" en tu proyecto de rieles, por ej. sudo joya instalar pepino cd rails_app ./script/generate pepino # bootstrap pepino en su aplicación