FactoryBot.register_strategy

FactoryBot.register_strategyメソッドは構築戦略の加え方です。

2つの必須の実引数である名前とクラスを取ります。 名前はSymbolで、FactoryBot::Syntax::Methods下に現すメソッドを登録します。

クラスはメソッドassociationresultを定義しなければなりません。

associationメソッドはFactoryRunnerのインスタンスを取ります。 このランナーを#runで走らせられます。 このとき戦略名(既定は現在のもの)と省略できるブロックを渡します。 ブロックは関連が構築された後に呼ばれ、構築されたオブジェクトが渡されます。

resultメソッドは(initialize_withを使って)このファクトリで構築されたオブジェクトを取り、この構築戦略用のファクトリの結果を返します。