標準Rubyプロジェクトのコア構造は基本的に:
lib/
foo.rb
foo/
share/
foo/
test/
helper.rb
test_foo.rb
HISTORY.md (or CHANGELOG.md)
LICENSE.txt
README.md
foo.gemspec
share/
はまれであり、時には代わりdata/
呼ばれます。一般的なルビファイルではありません。ほとんどのプロジェクトはそれを必要としませんが、何度も何度もすべてがlib/
に保存されていますが、これはおそらくベストプラクティスではありません。 QEDが使用されている場合は、また、キュウリが使用されている場合features/
を参照するか、demo/
かもしれませんがBDDは、代わりにTDDの使用されている場合
test/
ディレクトリがspec/
と呼ばれるかもしれません。
最近ではfoo.gemspec
は.gemspec
になります。特に手作業で管理されていない場合は特にそうです。
プロジェクトは、コマンドライン実行を持っている場合は、追加します。また
bin/
foo
man/
foo.1
foo.1.md or foo.1.ronn
を、ほとんどのRubyプロジェクトのき:
Gemfile
Rakefile
Gemfile
はバンドラーを使用するためのもので、Rakefile
は熊手のためでありますビルドツール。しかし、別のツールを使用する場合は、他にもオプションがあります。
他のいくつかのそれほど珍しいことではありませんファイル:
VERSION
MANIFEST
VERSION
ファイルはちょうど現在のバージョン番号が含まれています。 MANIFEST
(またはManifest.txt
)には、プロジェクトのパッケージファイル(例:gemパッケージ)に含めるファイルのリストが含まれています。
他に何あなたが見るかもしれないが、使用方法は散発的である:
config/
doc/ (or docs/)
script/
log/
pkg/
task/ (or tasks/)
vendor/
web/ (or site/)
config/
は、さまざまな設定ファイルが含まれています。 doc/
には、生成されたドキュメント(例: RDoc、またはマニュアルで管理されているマニュアル。 script/
には、プロジェクトで使用するためのシェルスクリプトが含まれています。 log/
には、生成されたプロジェクトログが含まれています。テストカバレッジレポート。 pkg/
は、生成されたパッケージファイルを保持する。 foo-1.0.0.gem
; task/
は、foo.rake
またはfoo.watchr
などのさまざまなタスクファイルを保持できます。 vendor/
には他のプロジェクトのコピーが含まれています。 gitサブモジュール;最後にweb/
にプロジェクトのWebサイトファイルが含まれています。
その後も比較的共通しているいくつかのツールの特定のファイル:
.document
.gitignore
.yardopts
.travis.yml
は、彼らはかなり自明です。
最後に、私は個人的にそのファイルを構築するための.index
ファイルとvar/
ディレクトリを追加することを追加します(これについての詳細は、「Rubyworksインデクサー」で検索)、しばしばwork
ディレクトリを持っている、のようなものになります。
work/
NOTES.md
consider/
reference/
sandbox/
ちょうど開発のためのscrapyardの並べ替え。
最新のnewgemはずっと少ないクルフトを生み出します。 –