¿Qué son los atributos transitorios factory_girl? ¿Por qué usaría uno?

Yo leoesta de Thoughtbot, pero todavía me resulta confuso.

Este es su ejemplo:

factory :user do
  transient do
    rockstar true
    upcased  false
  end

  name  { "John Doe#{" - Rockstar" if rockstar}" }
  email { "#{name.downcase}@example.com" }

  after(:create) do |user, evaluator|
    user.name.upcase! if evaluator.upcased
  end
end

create(:user, upcased: true).name
#=> "JOHN DOE - ROCKSTAR"

Entonces,

Es.upcased Un atributo real en el modelo?Cuál es eltransient bloque realmente haciendo? ¿Configurando variables que luego se pueden usar en la fábrica?Que esevaluator? ¿Siempre se debe aprobar al final? ¿Qué pasa si tucreate La función utiliza rasgos, transitorios y tiene múltiples valores?

Respuestas a la pregunta(1)

Su respuesta a la pregunta