Ruby Language
Creación / gestión de gemas
Buscar..
Archivos Gemspec
Cada gema tiene un archivo en el formato <gem name>.gemspec
que contiene metadatos sobre la gema y sus archivos. El formato de una gemspec es el siguiente:
Gem::Specification.new do |s|
# Details about gem. They are added in the format:
s.<detail name> = <detail value>
end
Los campos requeridos por RubyGems son:
Cualquiera de los author = string
o authors = array
Use author =
si solo hay un autor, y authors =
cuando hay múltiples. Para authors=
utilizar una matriz que enumera los nombres de los autores.
files = array
Aquí la array
es una lista de todos los archivos en la gema. Esto también se puede usar con la función Dir[]
, por ejemplo, si todos sus archivos están en el directorio /lib/
, entonces puede usar files = Dir["/lib/"]
.
name = string
Aquí la cadena es solo el nombre de tu gema. Rubygems recomienda algunas reglas que debes seguir al nombrar tu gema.
- Use guiones bajos, sin espacios
- Use solo letras minúsculas
- Utilice hypens para la extensión joya (por ejemplo, si su joya se llama
example
para una extensión que le nombrarloexample-extension
) de manera que cuando el entonces extensión se requiere que se le puede exigir querequire "example/extension"
.
RubyGems también agrega "Si publicas una gema en rubygems.org, se puede eliminar si el nombre es objetable, viola la propiedad intelectual o el contenido de la gema cumple con estos criterios. Puedes reportar dicha gema en el sitio de soporte de RubyGems".
platform=
No lo sé
require_paths=
No lo sé
summary= string
String es un resumen del propósito de las gemas y cualquier cosa que quieras compartir sobre la gema.
version= string
El número de versión actual de la gema.
Los campos recomendados son:
email = string
Una dirección de correo electrónico que se asociará con la gema.
homepage= string
El sitio web donde vive la gema.
O license=
o licenses=
No lo sé
Construyendo una gema
Una vez que hayas creado tu gema para publicarla, debes seguir algunos pasos:
- Construye tu gema con
gem build <gem name>.gemspec
(el archivo gemspec debe existir) - Crea una cuenta de RubyGems si aún no tienes una aquí
- Comprueba que no existan gemas que compartan el nombre de tus gemas.
- Publica tu gema con
gem publish <gem name>.<gem version number>.gem
Dependencias
Para listar el árbol de dependencias:
gem dependency
Para enumerar qué gemas dependen de una gema específica (agrupador, por ejemplo)
gem dependency bundler --reverse-dependencies