Factory Botへの貢献

どなたでもプルリクエストを歓迎します。 このプロジェクトに参加することで、thoughtbotの行動規範に従うことに同意したものとします。

以下はあなたが貢献できる方法です。

  • アルファ、ベータ、プレリリースのバージョンを使う
  • 不具合を報告する
  • 新機能を提案する
  • ドキュメントを書いたり編集したりする
  • 仕様を書く
  • コードを書く(どんなパッチも些細ではありません。誤植修正やコメントの追加などもそうです)
  • コードを改修する
  • イシューを閉じる
  • パッチをレビューする

イシューを送る

  • GitHubのイシュートラッカーを使って不具合と機能と把握しています。
  • 不具合報告や機能の要望を送る前に、既に送られていないか必ずお確かめください。
  • 不具合報告を送るとき、再現スクリプトとその不具合を再現するのに必要かもしれないその他の詳細を含めてください。 これにはgemのバージョン、Rubyのバージョン、オペレーティングシステムが含まれます。

イシューを整頓する

  • 送信者から反応がないイシューは30日以降に閉じられます。
  • イシューは修正されたり回答されたと思われたときに閉じられます。 メンテナが間違っていたときは再び開くことがあります。
  • イシューが間違って閉じられたときはイシューを理解して説明してください。 喜んでイシューを再度開きます。

プルリクエストを送る

  1. 公式リポジトリフォークします。
  2. トピックブランチを作ります
  3. 機能や不具合修正を実装します。
  4. 変更を加え、コミットし、プッシュします。
  5. プルリクエストを送る

補足

  • コードを変えたときはテストを加えてください。 テストのない貢献は受け付けられません。
  • テストの加え方が分からなければ、PRを作って手助けを求めるコメントを残してください。 喜んでお手伝いします!
  • gemのバージョンを更新しないでください。

準備

bundle install

テストスートを走らせる

既定のrakeタスクでは、完全なテストスートとstandardが実行されます。

bundle exec rake

1グループのテスト(単体、スペック、機能)を走らせることもできます。

bundle exec rake spec:unit
bundle exec rake spec:acceptance
bundle exec rake features

個別のrspecのテストを走らせるため、パスと行番号を与えられます。

bundle exec rspec spec/path/to/spec.rb:123

appraisalで特定のバージョンのrailsでテストを走らせられます。 Rails 6に対して、既定のrakeタスクを走らせる例は以下です。

bundle exec appraisal 6.0 rake

整形

自動でコードを整形するにはstandardを使ってください。

bundle exec rake standard:fix

https://github.com/middleman/middleman-heroku/blob/master/CONTRIBUTING.md から着想を得ました。

この日本語訳について

本文書は``The factory_bot book''の日本語訳です。

日本語訳のファイル(Markdown形式)は原文のファイル構造に従って生成され、translation/jaディレクトリ以下に配置されます。 特にtranslation/ja/docsディレクトリ以下に配置されるファイルはmdBookによりウェブページに変換されます。

翻訳管理にはpo4aが使われており、GNU GettextのPO形式により翻訳が保管されます。 そのため、原文に変更が発生した場合は次の手順で更新します。 なお、お知らせは過去のバージョンは未翻訳のものが残っています。 これらのバージョンは必要に応じて訳出することとします。 POファイルではtranslation/po/news.ja.poに分離されています。

  1. 原文のリポジトリに合わせてリベースする。
  2. make -C translationでPOファイルを更新する。
  3. 更新されたtranslation/po/*.ja.poを編集し、fuzzyの項目や未翻訳の項目の翻訳を完了する。
  4. 再度make -C translationを実行し、日本語訳のファイルを生成する。