Estos son algunos ejemplos de recomendaciones para nombrar gemas:
NOMBRE DE LA GEMA | REQUERIR DECLARACIÓN | CLASE PRINCIPAL O MÓDULO |
---|---|---|
ruby_parser |
require 'ruby_parser' |
RubyParser |
rdoc-data |
require 'rdoc/data' |
RDoc::Data |
net-http-persistent |
require 'net/http/persistent' |
Net::HTTP::Persistent |
net-http-digest_auth |
require 'net/http/digest_auth' |
Net::HTTP::DigestAuth |
El objetivo principal de estas recomendaciones es dar al usuario alguna pista sobre cómo requerir los archivos de tu gema.
Seguir estas convenciones también permite que Bundler requiera tu gema sin configuración adicional.
Si publicas una gema en rubygems.org, es posible que se elimine si el nombre es objetable, viola la propiedad intelectual o si el contenido de la gema no cumple con estos criterios.
Puede informar sobre dicha gema a [email protected] por correo electrónico.
Usa guiones bajos para varias palabras
Si una clase o módulo tiene varias palabras, use guiones bajos para separarlas. Esto coincide con el archivo que requerirá el usuario, lo que facilita que el usuario comience a usar su gema.
Usa guiones para las extensiones
Si estás agregando funcionalidad a otra gema, usa un guion. Eso generalmente corresponde a una /
en la instrucción require
(y por lo tanto a la estructura de directorios de su gema) y una ::
en el nombre de su clase o módulo principal.
Mezcla guiones bajos y guiones adecuadamente
Si tu clase o módulo tiene varias palabras y también estás agregando funcionalidad a otra gema, sigue las dos reglas anteriores.
Por ejemplo, net-http-digest_auth
agrega autenticación de resumen HTTP a net/http
. El usuario require 'net/http/digest_auth'
usará la extensión (en clase Net::HTTP::DigestAuth
).
No uses letras mayúsculas
OS X y Windows tienen sistemas de archivos que no distinguen entre mayúsculas y minúsculas de forma predeterminada.
Los usuarios pueden requerir por error archivos de una gema usando letras mayúsculas que no serán portátiles si lo mueven a un sistema que no sea Windows o OS X.
<<