Ruby: Реальный Rails

Теория: FSM

Программа урока

  • Конфигурация AASM в проекте
  • AASM + ActiveRecord
  • Условия смены состояния
  • Транзакции и состояние гонки (race condition)
  • Тесты и AASM
  • AASM вне Rails

Пример класса с AASM.

class Job
  include AASM

  aasm do
    # Начальное состояние
    state :sleeping, initial: true
    state :running, :cleaning

    # Событие и переходы
    event :run do
      transitions from: :sleeping, to: :running
    end

    event :clean do
      transitions from: :running, to: :cleaning
    end

    event :sleep do
      # Одинаковое событие для перехода из нескольких состояний
      transitions from: [:running, :cleaning], to: :sleeping
    end
  end

end

Рекомендуемые программы

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845