Sha256: 4cd2a55294f139bfadcac7213fbc9484593f9a349746bd12d7f797a9ecb672d2

Contents?: true

Size: 725 Bytes

Versions: 29

Compression:

Stored size: 725 Bytes

Contents

require 'rubygems'
require 'ramaze'

require 'model/history'
require 'model/message'

class ChatRoom < Ramaze::Controller
  map '/'
  HISTORY = History.new

  [ "Hello, World!",
    "My name is manveru",
    "I welcome you to my realm",
    "The unique and most awesome examples/chat.rb!",
  ].each{|text| HISTORY.write('manveru', text) }

  layout :default

  def index
    return unless request.post?
    session[:nick] = h(request[:nick])
    redirect r(:chat)
  end

  def chat
    redirect r(:/) unless session[:nick]
  end

  def say
    nick, text = session[:nick], request[:text]
    HISTORY.write(nick, h(text)) if nick and text
  end

  def listen
    respond HISTORY.to_html
  end
end

Ramaze.start :mode => :live

Version data entries

29 entries across 29 versions & 4 rubygems

Version Path
ramaze-2010.03 examples/app/chat/start.rb
ramaze-2010.01 examples/app/chat/start.rb
ramaze-2009.10 examples/app/chat/start.rb
ramaze-2009.07 examples/app/chat/start.rb
ramaze-2009.04 examples/app/chat/start.rb
ramaze-2009.05 examples/app/chat/start.rb
ramaze-2009.06 examples/app/chat/start.rb
ramaze-2009.06.04 examples/app/chat/start.rb
ramaze-2009.06.12 examples/app/chat/start.rb