module AASM::HandleEvent
Public Instance Methods
handle_event(event)
click to toggle source
Конечный автомат принимает событие и AASM
переводит модель в нужное состояние.
Метод создан с целью изоляции зависимости всего остального кода от исключительных ситуаций, генерируемых gem AASM
# File lib/c80_shared/aasm/handle_event.rb, line 7 def handle_event(event) if send('may_%s?' % event) # сначала проверим, можем ли перейти в такое состояние send event # шлём event (меняется состояние Предложения) return true end false rescue NoMethodError, AASM::InvalidTransition errors.add :not_updated, I18n.t('activerecord.errors.not_updated') Rails.logger.warn '[InquiryStates.handle_event] Unknown event %s.' % event false end