要獲得良好的開局,您可以使用bundle gem
命令和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
- 代碼放在
lib
- 規格進去
spec
- 測試數據或文檔中
spec/fixtures/
- 去要求在
lib/my_lib.rb
所有Ruby文件。您也可以根據自己的喜好定義您的例外文件,或者在自己的文件中定義。
- C源文件進去
ext/my_lib
- shell腳本和可執行文件去
bin
如果有疑問,只是看別人怎麼寶石佈局。
更多信息:
你應該在你gemspec rspec的增加作爲發展的依賴,使事情變得更容易爲其他開發人員
- 編輯my_lib.gemspec,加入
gem.add_development_dependency 'rspec'
和gem.add_development_dependency 'rake'
附近底端。
- 將
Bundler.setup
和require 'my_lib'
添加到spec/spec_helper.rb的頂部,以確保您在運行規格時加載了您的gem依賴項。
- 將
require "rspec/core/rake_task"
和task :default => :spec
添加到您的Rakefile中,以便運行rake
將運行您的規格。
當你在你的最新創作工作,guard-rspec可以運行你的規格爲文件改變由自動節省您的時間和麻煩,提醒您符合規格故障。
~/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"
後,你認爲自己的創作,它推送到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
然後,當你準備好釋放你的Rubygems.org寶石,運行rake release
,這將走你通過這些步驟。
~/code/my_lib $ rake release
更多參考
相關問題:http://stackoverflow.com/questions/614309/ideal-ruby-project-structure – 2012-03-04 22:44:45