Как создать цикл шагов в Trailblazer Operation?

Я использую Trailblazer 2.0 в Rails 5.1.4 и Ruby 2.5.0.

Предположим, у меня есть такая операция:

class MyOpearation < Trailblazer::Operation
  step :step_one
  step :step_two
  step :assign_current_user!
  step Model( Song, :new)
  step Contract::Build( constant: MyContract )
  step Contract::Validate()
  step Contract::Persist()

  ...
end

Теперь предположим, что я хочу создать несколько моделей на основе некоторой константы, которая пришла с options['params'], как это:

class MyOpearation < Trailblazer::Operation
  while options['params']['some_boolean']
    step :step_one
    step :step_two
    step :assign_current_user!
    step Model( Song, :new)
    step Contract::Build( constant: MyContract )
    step Contract::Validate()
    step Contract::Persist()
  end

  ...
end

Есть ли способ, которым я могу достичь этого, не создавая пользовательский шаг? Можно ли использовать "обертку" для достижения этой цели?

0 ответов

Другие вопросы по тегам