Nasıl Kur bir temel ruby projesi mi?
10-20 sınıfları ile ruby küçük bir proje oluşturmak istiyorum / dosyaları. Bazı taşlar ihtiyacım var ve test çerçeve olarak rspec kullanmak istiyorum.
Bir mücevher daha sonra üzerine inşa etmek istiyor olabilirim, ama bu kesin değildir.
Benim proje temel yapı Kur nasıl bana gösteren bazı nasıl Yapılır ya da Rehber var mı?
Ben sorular:
- Nerede benim özel Hata/İstisna koyabilirim
- Lib,, src vb adlandırma bin gibi dizinler için orada bazı kuralları var mı?
- Test veri veya belgeleri koyayım.
- Nerede benim proje onlara erişimi var ve bu yüzden tüm dosyaları vardır.
Sıfırdan her şeyi yapabileceğimi biliyorum, ama bazı rehberlik istiyorum. Kopyalayabilirim orada bazı iyi taşlar var, ama ben ve silebilirim ne gerçekten ihtiyacınız olanı emin değilim.
http://gembundler.com/ ama toplayıcı kurduktan sonra durur baktım.
CEVAP
İyi bir başlangıç için, bundle gem komutunu kullanabilirsiniz ve 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
libgider - özellikleri
specgit - test veri veya belgeleri
spec/fixtures/git lib/my_lib.rbtüm ruby dosyaları gerektirir. Durumlar, bu dosya da tanımlamak, veya kendi dosyalarını kendi tercihinize göre yapabilirsiniz.- C kaynak dosyaları
ext/my_lib - kabuk komut dosyalarını ve çalıştırılabilir
bin
Şüphe, sadece diğer taşlar nasıl yerleştirilir bak.
Ayrıntılı bilgi için:
Senin gemspec gelişme bir bağımlılık olarak rspec şeyler diğer geliştiriciler için daha kolay hale getirmek için eklemek gerekir
- My_lib düzenleyin.gemspec, dibe yakın
gem.add_development_dependency 'rspec'gem.add_development_dependency 'rake'ekleme. - Spec üst/spec_helper
Bundler.setuprequire 'my_lib'ekleyin.mücevher bağımlılıkları sağlamak için rb gözlük çalıştırdığınızda yüklenir. rakeçalışan görüşler çalışacak senin Rakefilerequire "rspec/core/rake_task"task :default => :speckadar ekleyin.
Yeni yaratılış üzerinde çalışırken, guard-rspec size zaman ve güçlük kaydedebilirsinizotomatik olarakdosyaları değiştirmek gibi özellikleri çalışan, spec hataları için sizi uyaran.
~/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"
Senin eserin mutlu musun sonra github için yukarı itin
# 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
Rubygems.org, bu süreç boyunca size rehberlik edecek rake release, kaçak mücevher serbest bırakmak için hazır olduğunda o zaman.
~/code/my_lib $ rake release
Daha Fazla BaÅŸvuruyor
- Rubygems patterns guide (home page), Matheus Moreira cevabı. Gerçekten harika kaynaklar bunlar
- Steve tarafından How I Start Klabnik
- Zed Shaw Exercise 46: A Project Skeleton Learn Ruby The Hard Way

Nasıl Ruby anahtarı bir ifade yazabili...
Nasıl Ruby on Rails geçerli mutlak URL...
Nasıl Ruby alt veya üst durumda bir di...
Nasıl Ruby rastgele bir sayı almak içi...
Nasıl en iyi Ruby rastgele bir dize ol...