Comment faire un gem?

Bonjour,

La question paraîtra peut-être bête à certain, mais j’essaye de faire
mon premier ‘gem’, pas mon premier programme Ruby :slight_smile:

Je suis sous Win$ avec ‘OneClick Installer’.

En lisant “Programming Ruby (1.8)” ou les formums, j’obtiens bien
quelque chose, mais : j’ai un message d’erreur et cela ne fonctionne pas

Mon arborescence est :

  • demo : A la racine ‘README’ et ‘demo.gemspec’
    ------ bin : VIDE.
    ------ lib : Le module que je veux mettre dans le ‘gem’;
    ------ docs : Un ensemble de documents avec des fichiers pour des
    tests.
    ------ sample : Un programme de démonstration de l’utilisation du
    module.
    ------ test : VIDE.

Je voudrais retrouver tout ça dans le ‘gem’.

Voici mon fichier ‘demo.gemspecs’ :

require ‘rubygems’

spec = Gem::Specification.new do |s|
s.name = “demo”
s.version = “1.0.0”
s.author = “My name”
s.email = “[email protected]
s.homepage = “Le langage Ruby
s.summary = “Un traitement de donnees”

candidates = Dir.glob(“{bin,docs,lib,test}/**/*)”)

s.files = Dir.glob(“{bin,docs,lib,test,rdoc,sample}/**/*)”)

s.files = candidates.delete_if do |item|

item.include?(“CVS”) || item.include?(“rdoc”)

end

s.require_path = “lib”
s.autorequire = “mdemo”

s.test_file = “true”

s.has_rdoc = “true”
s.extra_rdoc_files = [“README”]
end

Pour construire le gem : “gem build demo.gemspec” :
WARNING: no rubyforge_project specified
WARNING: deprecated autorequire specified
Successfully built RubyGem
Name: demo
Version: 1.0.0
File: demo-1.0.0.gem

L’installation : “gem install demo -r” :
Successfully installed pygmee-1.0.0
1 gem installed
Installing ri documentation for pygmee-1.0.0…
File not found: lib

Les problèmes sont les suivants :

  • le répertoire : “C:\Ruby\lib\ruby\gems\1.8\gems\demo-1.0.0” est vide;
  • le répertoire : “C:\Ruby\lib\ruby\gems\1.8\doc\demo-1.0.0” est vide
    aussi;
  • le programme de test ne fonctionne pas :frowning:

Il n’y a que du Ruby, pas d’extention en ‘C’ ou autre chose.

Je voudrais avoir les codes, le contenu des répertoires cités et la
documentation que je génère à la main avec quelque chose qui ressemble Ã
:
rdoc --op doc --force-update --all --fileboxes --inline-source
–tab-width 2 …/README …/sample/demo_sample.rb …/lib/demo.rb

Quelqu’un peut-il m’aider ? J’ai essayé de recopier des exemples pour
Rake’ avec les mêmes résultats décevants… :frowning:

Merci par avance.

Randy.

Bonjour,

Tu devrais utiliser la gem jeweler, tu fais une gem sans te casser la
tête
en quelques minutes.


Nicolas Mérouze
http://www.yeastymobs.com

Nicolas Mérouze a écrit :

Bonjour,

Tu devrais utiliser la gem jeweler, tu fais une gem sans te casser la
tête en quelques minutes.

Je suis tout à fait d’accord avec Nicolas. Jeweler aide grandement à une
compatibilité avec github et gemcutter en plus. Par contre, je te
conseil de scaffolder ton gem avec jeweler aussi (cf documentation)


Cyril M.

J’ai pas vraiment de library spécifique à te conseiller, mais je te
recommande le visionnage de l’excellent

par le non moins excellent Ryan B…

En tout cas cela à marcher pour moi.

Comme d’autres, je te conseille d’utiliser jeweler.

Cordialement,
Nicolas.

Le 13 novembre 2009 10:21, tongman [email protected] a écrit :

Hello,

tu peux aussi voir des choses intéressantes dans ce screencast sur le
sujet:

Thibaut

http://www.learnivore.com

Bonjour,

Merci à tous pour vos réponses. Vous êtes unanimes sur JEWELER, je vais
donc suivre vos conseils et essayer de comprendre comment tout cela
fonctionne :slight_smile:

Merci encore pour vote aide.

Randy

Un certain remi (de remi.org) vient de sortir un screencasts sur
comment faire de gems, justement…

http://bit.ly/2X3pTa

– Thibaut