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