# Eventer Eventer есть простой движокъ для управленія событіями класса. ## Использованіе ### Созданіе и установка обработчика Создай классъ, и задай допустимыя для него событія. Затѣмъ создай екземпляръ класса и опредѣли обработчикъ событія въ блокѣ съ помощью метода 'on_...' екземпляра класса, гдѣ вмѣсто ... установи имя событія. Для каждаго предопредѣленнаго событія можно закладывать неограниченное количество обработчиковъ. class Test events :event end t = Test.new t.on_event do |args| "Matched" end ### Задѣствованіе обработчика Чтобы событіе сработало, вызови методъ event, задѣйствующій всѣ установленныя обработчики. Методъ же сей вернётъ наборъ съ словарями для каждаго из обработчиковъ. Словарь при семъ будетъ содержать обѣ ключъ-значеніе, выраженныя какъ указатель на обработчикъ и плодъ его выполненія. t.event :event, args... # -> [{<#Proc...> => "Matched"}, ...] Есть также процедура съ выводомъ болѣе простаго результата въ видѣ набора значеній, полученныхъ изъ оныхъ обработчиковъ. t.event_rs :event, args... # -> ["Matched", ...] ### Очистка Очистить обработчики или сами событія можно съ помощью методовъ 'purge_handlers' и 'purge_events' такъ: t.on_event do |args| "Matched" end t.purge_handlers :event # или такъ: t.purge_handlers t.event :event # => [] и событія: t.on_event do |args| "Matched" end t.purge_events :event t.event :event # => исключеніе Eventer::UnknownEventError # Права Авторскія и исключительныя права (а) 2011 Малъ Скрылевъ. Зри LICENSE за подробностями.