Что такое временные атрибуты factory_girl? Зачем мне использовать один?

Я читаюэтот от Thoughtbot, но это все еще смущает меня.

Это их пример:

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"

Так,

Является.upcased реальный атрибут на модели?Чтоtransient блок реально делаешь? Установка переменных, которые затем могут быть использованы на заводе?Что такоеevaluator? Всегда ли это должно быть передано последним? Что делать, если вашcreate Функция использует черты, переходные процессы и имеет несколько значений?

Ответы на вопрос(1)

Ваш ответ на вопрос