RubyGems: Nombrando tu gema (7)

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.


<<

🔥 RELACIONADOS

Deja un comentario