Sha256: e5a1fefeb84c44847b241a649f548e5896d46fe69161472751d6e6be44b4d16a
Contents?: true
Size: 1.64 KB
Versions: 1
Compression:
Stored size: 1.64 KB
Contents
event_emitter ============= * Ruby port of EventEmitter from Node.js * http://shokai.github.com/event_emitter Install ------- % gem install event_emitter Requirements ------------ testing on * Ruby 1.8.7+ * Ruby 1.9.2+ * Ruby 2.0.0+ * JRuby 1.6.7+ Synopsys -------- load rubygem ```ruby require "rubygems" require "event_emitter" ``` include ```ruby class User include EventEmitter attr_accessor :name end ``` regist event listener ```ruby user = User.new user.name = "shokai" user.on :go do |data| puts "#{name} go to #{data[:place]}" end ``` call event ```ruby user.emit :go, {:place => "mountain"} # => "shokai go to mountain" ``` regist event using "once" ```ruby user.once :eat do |what, where| puts "#{name} -> eat #{what} at #{where}" end ``` call ```ruby user.emit :eat, "BEEF", "zanmai" # => "shokai -> eat BEEF at zanmai" user.emit :eat, "Ramen", "marutomo" # => do not call. call only first time. ``` apply as instance-specific method ```ruby class Foo end foo = Foo.new EventEmitter.apply foo ``` remove event listener ```ruby user.remove_listener :go user.remove_listener event_id ``` catch all events ```ruby user.on :* do |event_name, args| puts event_name + " called" p args end ``` see samples https://github.com/shokai/event_emitter/tree/master/samples Test ---- % gem install bundler % bundle install % rake test Benchmark --------- % rake benchmark Contributing ------------ 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
event_emitter-0.2.5 | README.md |