Pour prendre un bon départ, vous pouvez utiliser l' bundle gem
de commandement et d' rspec --init
.
~/code $ bundle gem my_lib
create my_lib/Gemfile
create my_lib/Rakefile
create my_lib/LICENSE.txt
create my_lib/README.md
create my_lib/.gitignore
create my_lib/my_lib.gemspec
create my_lib/lib/my_lib.rb
create my_lib/lib/my_lib/version.rb
Initializating git repo in /Users/john/code/my_lib
~/code $ cd my_lib/
~/code/my_lib $ git commit -m "Empty project"
~/code/my_lib $ rspec --init
The --configure option no longer needs any arguments, so true was ignored.
create spec/spec_helper.rb
create .rspec
- code va en
lib
- spécifications aller en
spec
- test de données ou de documents d'aller en
spec/fixtures/
- Besoin de toutes vos ruby fichiers dans
lib/my_lib.rb
. Vous pouvez définir des exceptions fichier, ou dans leurs propres fichiers, selon votre préférence.
- Fichiers source C aller en
ext/my_lib
- shell scripts et exécutables aller en
bin
En cas de doute, il suffit de regarder comment les autres gemmes sont définies.
Plus d'informations:
Vous devez ajouter rspec comme un développement de la dépendance dans votre gemspec pour rendre les choses plus facile pour les autres développeurs
- Edit my_lib.gemspec, l'ajout d'
gem.add_development_dependency 'rspec'
et gem.add_development_dependency 'rake'
près du fond.
- Ajouter
Bundler.setup
et require 'my_lib'
au-dessus de spec/spec_helper.rb.rb pour assurer votre bijou les dépendances sont chargés lorsque vous exécutez vos spécifications.
- Ajouter
require "rspec/core/rake_task"
et task :default => :spec
de votre Rakefile, de sorte que l'exécution rake
exécuter vos spécifications.
Pendant que vous travaillez sur votre nouvelle création, garde-rspec peut vous faire économiser du temps et de tracas en automatiquement l'exécution de vos spécifications techniques que les fichiers de changer, de vous alerter sur les spec des échecs.
~/code/my_lib $ git add spec/spec_helper.rb
~/code/my_lib $ git commit -am "Add RSpec"
~/code/my_lib $ vim my_lib.gemspec # add guard development dependency
~/code/my_lib $ bundle
~/code/my_lib $ bundle exec guard init
~/code/my_lib $ vim Guardfile # Remove the sections below the top one
~/code/my_lib $ git add Guardfile
~/code/my_lib $ git commit -am "Add Guard"
Après vous êtes satisfait de votre création, le pousser jusqu'à github
# create a github repository for your gem, then push it up
~/code/my_lib $ curl -u myusername https://api.github.com/user/repos -d '{"name":"my_lib"}'
~/code/my_lib $ git remote add origin git@github.com:myusername/my_lib.git
~/code/my_lib $ git push
Puis, quand vous êtes prêt à libérer votre bijou sur Rubygems.org, exécutez rake release
, qui vous guidera à travers les étapes.
~/code/my_lib $ rake release
Autres Références