Полагаю (извините, у меня не установлено em в этом окне), проблема в том, что код будет оцениваться при загрузке класса.В этот момент thin, вероятно, не настроен, а EM, вероятно, не инициализирован.
Вы можете попробовать обернуть вызов $ sock = ... в EM.next_tick {}, который должен отложить выполнение до EMфактически начался.
Я полагаю, если память будет работать, вы можете добавить что-то в next_tick до инициализации EM.