add_attribute

ファクトリの定義の中では、add_attributeメソッドで、オブジェクトが構築されるときに設定されるキーバリュー対を定義できます。

add_attributeメソッドは、名前(SymbolまたはString)とブロックの2つの実引数を取ります。 ブロックはこのオブジェクトが構築される度に呼ばれます。 ブロックは属性が構築戦略で上塗りされるときは呼ばれません。

代入ではRubyの属性セッターを呼びます。 例えば以下があるとします。

FactoryBot.define do
  factory :user do
    add_attribute(:name) { "Acid Burn" }
  end
end

このとき#name=セッターが使われます。

user = User.new
user.name = "Acid Burn"

早道についてはmethod_missingも参照してください。