1. Ruby / Говнокод #3236

    −106

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    class User < ActiveRecord::Base
    
      #Состояния подтвержденности email
      state_machine :email_state, :initial => :unconfirmed, :namespace => 'email' do
        event :confirm do
          transition [:unconfirmed] => :confirmed
        end
    
        event :unconfirm do
          transition [:confirmed] => :unconfirmed
        end
      end
    
    end

    Запостил: antono, 16 Мая 2010

    Комментарии (4) RSS

    • Инженер писал
      Ответить
    • Задел на будущее, в дальнейшем можно еще состояний наплодить... Типа, "почти подтвержден", "чуть-чуть подтвержден", "полуподтвержден"...
      Ответить
      • Не смущает, что пользователь - стейт машина состояния писем? Намёк на God-object.
        Ответить
    • Конечный автомат Boolean имеет от 2 до 2 состояний включительно.
      Автомат детерменирован, так что из множества состояний [Истина] он может перейти в одно из состояний из множетсва [Ложь].

      Зы: а рельсовцы молодцы. Какие-нить пыхеры хрен бы до стейт машины додумались
      Ответить

    Добавить комментарий