You can clone with
HTTPS or Subversion.
This request might sound weird, but sinatra-contrib gem dependency on eventmachine causes issues with Ruby 1.9.x (1.9.2 and 1.9.3) under Windows.
Users trying to use Sinatra::Reloader during development add sinatra-contrib gem, which depends on eventmachine >= 0
eventmachine >= 0
This results in attempt to install latest stable gem (0.12.10) which has known issues under Windows (ala: does not compile).
After lurking on the internet for answers, end installing eventmachine 1.0.0.beta.4.1 (using --pre during gem install) but for some, under some weird circumstances with Bundler, dependencies are not met and it attempts to install eventmachine 0.12.10, again resulting in failure.
I believe is caused by installation on different GEM_PATH than GEM_HOME, but need more investigation.
May I suggest change sinatra/streaming.rb requires and remove runtime dependency on eventmachine?
abort 'EventMachine is required to use Sinatra::Streaming. Please `gem install eventmachine` first.'
I will remove the eventmachine dependency from sinatra/streaming as soon as I find time.
@rkh wow that was fast!, thank you! ::love::
Workaround some GEM_HOME/GEM_PATH limitations
Lazily load eventmachine only if it's absolutely necessary
@rtyler is there a reason you can't make that change a pull request? At least then it could be discussed further (in the context of this repo)
EventMachine is only used to turn it into a Deferrable, IIRC, so implementing Deferrable-like behaviour should maket then EM dependency completely obsolete.
@rkh I wouldn't know where to start with that… :) but @rtyler's quick and dirty solution is good in the short term, IMO. There's plenty of libraries that don't mark their dependencies properly and require a separate install, I don't think it would be wrong to do this intentionally as long as there's a note in the docs and changes.
@luislavena Is windows still having a hard time with event machine?
@zzak yup, see eventmachine/eventmachine#411
Should we close this or continue to investigate removing event machine as a dependency?
I have a few questions: is streaming that common a need that it should be in the contrib gem? If it's there to cut down on admin it's obviously failing right now in that regard, and it's not listed in the README so I'm not sure anyone would miss it if it was cut. More people might find it if it was in its own gem.
@yb66 there is also #60
remove eventmachine dependency fixes #30 #43