Sha256: 277547faaa73b7871e900902b991b5da39715c3bf830bb691dcadfde52fc35c6

Contents?: true

Size: 1.47 KB

Versions: 16

Compression:

Stored size: 1.47 KB

Contents

$LOAD_PATH.unshift File.expand_path('../../../lib', __FILE__)
require 'message_bus'
require 'sinatra'
require 'sinatra/base'


class Chat < Sinatra::Base

  set :public_folder,  File.expand_path('../../../assets',__FILE__)

  use MessageBus::Rack::Middleware

  post '/message' do
    MessageBus.publish '/message', params

    "OK"
  end

  get '/' do

<<HTML

<html>
  <head>
    <script src="/jquery-1.8.2.js"></script>
    <script src="/message-bus.js"></script>
  </head>
  <body>
    <p>Chat Demo</p>
    <div id='messages'></div>
    <div id='panel'>
      <form>
        <textarea cols=80 rows=2></textarea>
      </form>
    </div>
    <div id='your-name'>Enter your name: <input type='text'/>

    <script>
      $(function() {
        var name;

        $('#messages, #panel').hide();

        $('#your-name input').keyup(function(e){
          if(e.keyCode == 13) {
            name = $(this).val();
            $('#your-name').hide();
            $('#messages, #panel').show();
          }
        });


        MessageBus.subscribe("/message", function(msg){
          $('#messages').append("<p>"+ msg.name + " said: " + msg.data + "</p>");
        }, 0); // last id is zero, so getting backlog


        $('textarea').keyup(function(e){
          if(e.keyCode == 13) {
            $.post("/message", { data: $('form textarea').val(), name: name} );
            $('textarea').val("");
          }
        });

      });
    </script>
  </body>
</html>

HTML
  end

  run! if app_file == $0
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
message_bus-1.0.9 examples/chat/chat.rb
message_bus-1.0.8 examples/chat/chat.rb
message_bus-1.0.7 examples/chat/chat.rb
message_bus-1.0.6 examples/chat/chat.rb
message_bus-1.0.5 examples/chat/chat.rb
message_bus-1.0.4 examples/chat/chat.rb
message_bus-1.0.3 examples/chat/chat.rb
message_bus-1.0.2 examples/chat/chat.rb
message_bus-1.0.1 examples/chat/chat.rb
message_bus-1.0.0 examples/chat/chat.rb
message_bus-0.9.6 examples/chat/chat.rb
message_bus-0.9.5 examples/chat/chat.rb
message_bus-0.9.4 examples/chat/chat.rb
message_bus-0.9.3.2 examples/chat/chat.rb
message_bus-0.9.3.1 examples/chat/chat.rb
message_bus-0.9.3 examples/chat/chat.rb