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