lib/sinatra-rocketio/application.rb in sinatra-rocketio-0.2.3 vs lib/sinatra-rocketio/application.rb in sinatra-rocketio-0.2.4

- old
+ new

@@ -1,36 +1,29 @@ module Sinatra module RocketIO def self.registered(app) - app.helpers Sinatra::RocketIO::Helpers + app.register Sinatra::CometIO + app.register Sinatra::WebSocketIO + app.helpers Sinatra::RocketIO::Helpers + app.get '/rocketio/settings' do + content_type 'application/json' + @setting_json ||= ( + setting = {} + setting[:websocket] = websocketio_url if Sinatra::RocketIO.options[:websocket] + setting[:comet] = cometio_url if Sinatra::RocketIO.options[:comet] + setting.to_json + ) + end + app.get '/rocketio/rocketio.js' do + content_type 'application/javascript' + @js ||= ERB.new(Sinatra::RocketIO.javascript).result(binding) + end EM::defer do while !EM::reactor_running? do sleep 1 end - if options[:comet] - app.register Sinatra::CometIO - end - if options[:websocket] - app.register Sinatra::WebSocketIO - Sinatra::WebSocketIO.start - end - app.get '/rocketio/rocketio.js' do - content_type 'application/javascript' - @js ||= ERB.new(Sinatra::RocketIO.javascript).result(binding) - end - app.get '/rocketio/settings' do - content_type 'application/json' - @setting_json ||= ( - setting = {} - setting[:websocket] = websocketio_url if Sinatra::RocketIO.options[:websocket] - setting[:comet] = cometio_url if Sinatra::RocketIO.options[:comet] - setting.to_json - ) - end - app.routes["GET"].delete_if{|route| - "/cometio/cometio.js" =~ route[0] or "/websocketio/websocketio.js" =~ route[0] - } + Sinatra::WebSocketIO.start if Sinatra::RocketIO.options[:websocket] Sinatra::RocketIO.emit :start end end end