2012-08-30 18 views

Respuesta

14

Sí, nil y false tienen el mismo comportamiento aquí: hace que Bundler no requiera la gema especificada.

+0

Gracias, eso es lo que pensé, pero quería estar seguro. Parece que es falso el más utilizado, al menos lo veo en más ejemplos. – SteveO7

5

Requiere nil o false significa que el paquete no cargará (require) las gemas específicas. Sin embargo, estarán en las rutas de carga $:, por lo que puede solicitarlas explícitamente en cualquier momento que desee utilizarlas. Es una buena práctica usar esto para las gemas que solo se necesitan en casos especiales (por ejemplo, scripts externos, tareas de rake, etc.).

0

Cuando se especifica una gema en su Gemfile y ejecutar bundle install, bundler irán e instalar la gema especificado y el código de carga para esa gema en que la aplicación poniendo require 'whenever', de esta manera bundler cargará código para todas sus gemas en sus rieles aplicación, y puede llamar a cualquier método desde cualquier Gema sin ningún problema, como lo hace la mayoría del tiempo.

pero gemas como whenever,faker or capistrano son algo que no es necesario en el código de aplicación que necesita cada vez que el código en el archivo de schedule.rb para gestionar crons y código de Capistrano en deploy.rb archivo para personalizar la receta despliegue por lo que necesita para no cargar el código de estas joyas en su código de aplicación y donde quiera llamar a cualquier método de estas Gemas, puede manualmente solicitar estas gemas poniendo require "whenever". así que pones :require => false o :require => nil en tu Gemfile (ambos significan lo mismo) para estas gemas, de esta manera bundler instalará esa gema pero no cargará código para esa gema, puedes hacerlo cuando quieras simplemente poniendo como 'require' siempre que quieras en tu caso.