module Nali::Clients
Public Class Methods
list()
click to toggle source
# File lib/nali/clients.rb, line 5 def self.list @@list ||= [] end
Public Instance Methods
client_connected( client )
click to toggle source
# File lib/generator/application/app/server/clients.rb, line 3 def client_connected( client ) end
client_disconnected( client )
click to toggle source
# File lib/generator/application/app/server/clients.rb, line 11 def client_disconnected( client ) end
clients()
click to toggle source
# File lib/nali/clients.rb, line 9 def clients Nali::Clients.list end
on_client_connected( client )
click to toggle source
# File lib/nali/clients.rb, line 13 def on_client_connected( client ) clients << client end
on_client_disconnected( client )
click to toggle source
# File lib/nali/clients.rb, line 36 def on_client_disconnected( client ) clients.delete client client_disconnected( client ) if respond_to?( :client_disconnected ) end
on_message( client, message )
click to toggle source
# File lib/generator/application/app/server/clients.rb, line 7 def on_message( client, message ) end
on_received_message( client, message )
click to toggle source
# File lib/nali/clients.rb, line 17 def on_received_message( client, message ) if message[ :nali_browser_id ] client.browser_id = message[ :nali_browser_id ] client_connected( client ) if respond_to?( :client_connected ) client.send_json action: :_onOpen elsif message[ :ping ] client.send_json action: :_pong elsif message[ :controller ] name = message[ :controller ].capitalize + 'Controller' if Math.const_defined?( name ) and controller = Object.const_get( name ) controller = controller.new( client, message ) if controller.respond_to?( action = message[ :action ].to_sym ) controller.runAction action else puts "Action #{ action } not exists in #{ controller }" end else puts "Controller #{ name } not exists" end on_message( client, message ) if respond_to?( :on_message ) end end