README.rdoc

June 12, 2011 ยท View on GitHub

== Description Run EventMachine code in a ripl shell - asynchronously of course

== Install Install the gem with:

gem install ripl-em

== Usage

$ ripl em
>> require 'em-http-request'
=> true

>> def get(url); req = EM::HttpRequest.new(url).get; req.callback {|h| puts h.response }; end
=> nil

# Make two requests and watch them return in reverse order
>> get 'http://robolot.herokuapp.com/sleep/10'
=> [#\<Proc:0x00000101a76848@(ripl):4>]
>> get 'http://robolot.herokuapp.com/sleep/1'
=> [#\<Proc:0x00000101a76848@(ripl):4>]
Sir, I slept for 1 second(s). Anything else I can zzz...
Sir, I slept for 10 second(s). Anything else I can zzz...

== Todo

  • Autocompletion - Requires an Em::Connection that responds to both newlines and tabs. Any takers? :)
  • Basic Readline behavior - Up/Down Arrow -> Previous/Next history
  • Retry EM loop if callback raises error