EventObject

EventObject - event-driven programming for ruby

Минималистичность кода, простота использования, нету излишнего кода... Данных гем поможет обеспечить простой способ поддержики событий для руби объектов. Так же имеет простой синтаксис иницилизации и вызова событий.

Array refines

Событие представляет собой ruby array.

Простой пример:

using EventObject
event = [lambda { 'BEGIN' }, lambda { 'END' }]
p event.fire
# ["BEGIN", "END"]

В примере мы запустили все события в фиксированном контексте, однако мы можем изменить контекст на другой с помощью метода instance_fire

Class refines

Позволяют легко создавать события в объекте

class EventEmitter
  using Emmy
  events :success, :error
end

Object refines

emitter = EventEmitter.new
emitter.on :success do
  [200, {}, "OK"]
end
p emitter.success!

Installation

Add this line to your application's Gemfile:

gem 'event_object'

And then execute:

$ bundle

Or install it yourself as:

$ gem install event_object