Um einen guten Start zu erhalten, können Sie den bundle gem
Befehl und verwenden 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 geht rein
lib
- Spezifikationen gehen in
spec
- Testdaten oder Dokumente gehen ein
spec/fixtures/
- Benötigen Sie alle Ihre Ruby-Dateien in
lib/my_lib.rb
. Sie können Ihre Ausnahmen auch in dieser Datei oder in ihren eigenen Dateien definieren - ganz nach Ihren Wünschen.
- C-Quelldateien gehen ein
ext/my_lib
- Shell-Skripte und ausführbare Dateien gehen ein
bin
Wenn Sie Zweifel haben, schauen Sie sich einfach an, wie andere Edelsteine angeordnet sind.
Weitere Informationen:
Sie sollten rspec als Entwicklungsabhängigkeit in Ihre gemspec einfügen, um anderen Entwicklern die Arbeit zu erleichtern
- Bearbeiten Sie my_lib.gemspec, fügen Sie es hinzu
gem.add_development_dependency 'rspec'
und nähern Sie sich gem.add_development_dependency 'rake'
dem unteren Rand.
- Fügen Sie
Bundler.setup
und require 'my_lib'
oben in spec / spec_helper.rb hinzu, um sicherzustellen, dass Ihre Gem-Abhängigkeiten geladen werden, wenn Sie Ihre Spezifikationen ausführen.
- Fügen Sie
require "rspec/core/rake_task"
und task :default => :spec
zu Ihrem Rakefile hinzu, damit rake
beim Ausführen Ihre Spezifikationen ausgeführt werden.
Während Sie an Ihrer neuesten Kreation arbeiten, können Sie mit guard-rspec Zeit und Ärger sparen , indem Sie Ihre Spezifikationen automatisch ausführen, wenn sich Dateien ändern, und Sie auf Spezifikationsfehler aufmerksam machen.
~/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"
Wenn Sie mit Ihrer Kreation zufrieden sind, schieben Sie sie auf 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
Wenn Sie dann bereit sind, Ihren Edelstein auf Rubygems.org freizugeben, führen Sie ihn aus rake release
, der Sie durch die einzelnen Schritte führt.
~/code/my_lib $ rake release
Weitere Referenzen