Sha256: b54028f4d1bad1e516bd7bae78d114686c2a7576280d6e07e27fb46fd9b36b0c

Contents?: true

Size: 1.11 KB

Versions: 2

Compression:

Stored size: 1.11 KB

Contents

class ChatController < WebsocketRails::BaseController

  observe {
    if data_store.each_user.count > 0
      puts 'it worked'
    end
    
    if message_counter > 10
      puts 'message counter needs to be dumped'
      self.message_counter = 0
    end
  }
  
  observe(:new_message) {
    puts "message observer fired for #{message}"
  }
  
  attr_accessor :message_counter

  def initialize_session
    # perform application setup here
    @message_counter = 0
  end
  
  def client_connected
    # do something when a client connects
  end
  
  def new_message
    puts "Message from UID: #{client_id}\n"
    @message_counter += 1
    broadcast_message :new_message, message
  end
  
  def new_user
    puts "storing user in data store\n"
    data_store[:user] = message
    broadcast_user_list
  end
  
  def change_username
    data_store[:user] = message
    broadcast_user_list
  end
  
  def delete_user
    data_store.remove_client
    broadcast_user_list
  end
  
  def broadcast_user_list
    users = data_store.each_user
    puts "broadcasting user list: #{users}\n"
    broadcast_message :user_list, users
  end
  
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
websocket-rails-0.1.1 spec/dummy/app/controllers/chat_controller.rb
websocket-rails-0.1.0 spec/dummy/app/controllers/chat_controller.rb