2013-12-21 28 views
0

在開發JavaScript應用程序時,我通常創建一個API應用程序,完全獨立於UI應用程序。對於API,我通常使用Sinatra。託管使用gems的Ruby WebSocket服務的典型方法?

我正在開發一個JavaScript應用程序,它將使用我構建的WebSocket服務。我想現在使用Ruby(em-websocket)和ActiveModel來處理數據模型。我想保持這個非常輕量級,就像一個Sinatra應用程序是用於RESTful API的。

看來我的WebSocket服務只是通過「ruby web_socket_service.rb」調用的ruby腳本。我希望能夠使用此WebSocket服務使用各種寶石(如activerecord,capistrano和nokogiri)。完成這個的最典型的方式是什麼?

我會更好地創建一個獨立的gem來包含我的模型和WebSocket服務腳本,然後託管我的WebSocket服務嗎?或者,也許只是通過「寶石名稱」直接在腳本中包括寶石和模型?或者,是否有一些特殊的庫或框架通常用於解決這個問題?

回答

1

看看Rails應用程序。如果您的WebSocket服務開始向中型應用成長需要。即binlibRakefile,併爲你的寶石一個Gemfile和捆綁。

對於較小的應用程序,你仍然可以使用一個Gemfile和打捆管理包括gem。這會鎖定gem版本,所以如果你部署到其他服務器上,你不會有衝突,然後把所有東西放到一個或兩個腳本文件中,類似於Sinatra。

創建獨立的gem實際上僅對可在許多應用程序中重複使用的庫或應用程序部件有用。這聽起來不像這樣的事情。

+0

不錯!我沒有意識到我可以將Gemfile文件放入目錄並運行捆綁器。真棒! –