Để bắt đầu tốt, bạn có thể sử dụng lệnh bundle gem
và 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
- mã đi trong
lib
- thông số kỹ thuật đi trong
spec
- dữ liệu thử nghiệm hoặc tài liệu đi trong
spec/fixtures/
- Yêu cầu tất cả các file của bạn trong ruby
lib/my_lib.rb
. Bạn cũng có thể xác định các ngoại lệ của bạn mà tệp hoặc trong các tệp của riêng chúng - theo tùy chọn của riêng bạn.
- file nguồn C đi trong
ext/my_lib
- kịch bản shell và thực thi đi vào
bin
Khi nghi ngờ, chỉ cần nhìn vào viên ngọc như thế nào khác được đặt ra.
Thông tin thêm:
Bạn nên thêm rspec như một sự phụ thuộc phát triển trong gemspec của bạn để làm cho mọi việc dễ dàng hơn cho các nhà phát triển khác
- Sửa my_lib.gemspec, thêm
gem.add_development_dependency 'rspec'
và gem.add_development_dependency 'rake'
gần đáy.
- Thêm
Bundler.setup
và require 'my_lib'
lên đầu spec/spec_helper.rb để đảm bảo phụ thuộc đá quý của bạn được tải khi bạn chạy thông số kỹ thuật của mình.
- Thêm
require "rspec/core/rake_task"
và task :default => :spec
vào Rakefile của bạn để chạy rake
sẽ chạy thông số kỹ thuật của bạn.
Trong khi bạn đang làm việc trên sáng tạo mới nhất của mình, guard-rspec có thể giúp bạn tiết kiệm thời gian và rắc rối bởi tự động chạy thông số kỹ thuật của bạn như file thay đổi, cảnh báo cho bạn để spec thất bại.
~/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"
Sau khi bạn hài lòng với sự sáng tạo của bạn, đẩy nó lên đến 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 [email protected]:myusername/my_lib.git
~/code/my_lib $ git push
Sau đó, khi bạn đã sẵn sàng để phát hành đá quý của bạn trên Rubygems.org, chạy rake release
, mà sẽ đi bộ bạn qua các bước.
~/code/my_lib $ rake release
Tham khảo thêm
Nguồn
2012-03-03 20:17:18
Câu hỏi liên quan: http://stackoverflow.com/questions/614309/ideal-ruby-project-structure –