Na dobry początek możesz użyć bundle gem
polecenia i 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
- kod wchodzi
lib
- specyfikacje wchodzą
spec
- wprowadzane są dane testowe lub dokumenty
spec/fixtures/
- Wymagaj wszystkich plików ruby w formacie
lib/my_lib.rb
. Możesz zdefiniować swoje wyjątki również w tym pliku lub w ich własnych plikach - zgodnie z własnymi preferencjami.
- Pliki źródłowe C wchodzą do
ext/my_lib
- skrypty powłoki i pliki wykonywalne wchodzą do środka
bin
W razie wątpliwości spójrz, jak ułożone są inne klejnoty.
Dalsza informacja:
Powinieneś dodać rspec jako zależność programistyczną w swoim gemspec, aby ułatwić pracę innym programistom
- Edytuj my_lib.gemspec, dodając
gem.add_development_dependency 'rspec'
i gem.add_development_dependency 'rake'
u dołu.
- Dodaj
Bundler.setup
i require 'my_lib'
na początku specyfikacji / spec_helper.rb, aby upewnić się, że zależności klejnotów są ładowane po uruchomieniu specyfikacji.
- Dodaj
require "rspec/core/rake_task"
i task :default => :spec
do swojego Rakefile, aby uruchomienie rake
uruchomiło Twoje specyfikacje.
Podczas pracy nad najnowszym dziełem guard-rspec może zaoszczędzić czas i kłopotów, automatycznie uruchamiając specyfikacje w miarę zmiany plików, ostrzegając o awariach specyfikacji.
~/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"
Gdy będziesz zadowolony ze swojego dzieła, przenieś je na 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
Następnie, gdy będziesz gotowy, aby wydać swój klejnot na Rubygems.org, biegnij rake release
, co poprowadzi Cię przez kolejne kroki.
~/code/my_lib $ rake release
Dalsze odniesienia