mad_chatter 0.2.9 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +2 -1
- data/.rvmrc +1 -0
- data/Gemfile.lock +1 -3
- data/README.md +25 -20
- data/lib/mad_chatter/actions/dsl.rb +4 -10
- data/lib/mad_chatter/actions.rb +29 -0
- data/lib/mad_chatter/channel.rb +56 -0
- data/lib/mad_chatter/config.rb +22 -5
- data/lib/mad_chatter/connection.rb +29 -0
- data/lib/mad_chatter/extensions.rb +12 -0
- data/lib/mad_chatter/markdown_renderer.rb +6 -0
- data/lib/mad_chatter/message.rb +39 -12
- data/lib/mad_chatter/message_history.rb +8 -5
- data/lib/mad_chatter/message_listener.rb +17 -0
- data/lib/mad_chatter/message_listeners/code.rb +30 -0
- data/lib/mad_chatter/message_listeners/image.rb +27 -0
- data/lib/mad_chatter/message_listeners/join.rb +30 -0
- data/lib/mad_chatter/message_listeners/markdown.rb +45 -0
- data/lib/mad_chatter/message_listeners/nick.rb +26 -0
- data/lib/mad_chatter/server.rb +0 -55
- data/lib/mad_chatter/servers/em_websocket.rb +5 -14
- data/lib/mad_chatter/user.rb +78 -0
- data/lib/mad_chatter/users.rb +32 -24
- data/lib/mad_chatter/version.rb +1 -1
- data/lib/mad_chatter.rb +98 -34
- data/mad_chatter.gemspec +1 -1
- data/screenshot.png +0 -0
- data/spec/actions_spec.rb +7 -0
- data/spec/message_history_spec.rb +12 -10
- data/spec/message_listeners/code_spec.rb +37 -0
- data/spec/message_listeners/join_spec.rb +34 -0
- data/spec/message_listeners/markdown_spec.rb +47 -0
- data/spec/message_spec.rb +28 -16
- data/spec/server_spec.rb +43 -0
- data/spec/users_spec.rb +23 -0
- data/templates/extensions/example.rb +1 -1
- data/templates/extensions.rb +16 -14
- data/templates/web/css/bootstrap.css +3363 -0
- data/templates/web/css/bootstrap.min.css +610 -0
- data/templates/web/css/bootstrap.min.responsive.css +3 -0
- data/templates/web/css/bootstrap.responsive.css +567 -0
- data/templates/web/css/mad_chatter.css +59 -0
- data/templates/web/{styles.css → css/styles.css} +26 -20
- data/templates/web/img/glyphicons-halflings-white.png +0 -0
- data/templates/web/img/glyphicons-halflings.png +0 -0
- data/templates/web/index.html +173 -40
- data/templates/web/js/bootstrap.js +1722 -0
- data/templates/web/js/bootstrap.min.js +1 -0
- data/templates/web/js/mad_chatter.js +292 -0
- data/templates/web/{mad_chatter_actions.js → js/mad_chatter_actions.js} +0 -0
- data/templates/web/js/mad_chatter_config.js +3 -0
- data/templates/web/js/swfobject.js +4 -0
- data/templates/web/js/web_socket.js +389 -0
- data/templates/web/swf/WebSocketMain.swf +0 -0
- metadata +65 -62
- data/TODO.txt +0 -10
- data/templates/web/mad_chatter.js +0 -161
- data/templates/web/mad_chatter_config.js +0 -1
- data/templates/web/markitup/jquery.markitup.js +0 -593
- data/templates/web/markitup/sets/markdown/images/bold.png +0 -0
- data/templates/web/markitup/sets/markdown/images/code.png +0 -0
- data/templates/web/markitup/sets/markdown/images/h1.png +0 -0
- data/templates/web/markitup/sets/markdown/images/h2.png +0 -0
- data/templates/web/markitup/sets/markdown/images/h3.png +0 -0
- data/templates/web/markitup/sets/markdown/images/h4.png +0 -0
- data/templates/web/markitup/sets/markdown/images/h5.png +0 -0
- data/templates/web/markitup/sets/markdown/images/h6.png +0 -0
- data/templates/web/markitup/sets/markdown/images/italic.png +0 -0
- data/templates/web/markitup/sets/markdown/images/link.png +0 -0
- data/templates/web/markitup/sets/markdown/images/list-bullet.png +0 -0
- data/templates/web/markitup/sets/markdown/images/list-numeric.png +0 -0
- data/templates/web/markitup/sets/markdown/images/picture.png +0 -0
- data/templates/web/markitup/sets/markdown/images/preview.png +0 -0
- data/templates/web/markitup/sets/markdown/images/quotes.png +0 -0
- data/templates/web/markitup/sets/markdown/readme.txt +0 -11
- data/templates/web/markitup/sets/markdown/style.css +0 -6
- data/templates/web/markitup/skins/mad_chatter/images/handle.png +0 -0
- data/templates/web/markitup/skins/mad_chatter/images/menu.png +0 -0
- data/templates/web/markitup/skins/mad_chatter/images/submenu.png +0 -0
- data/templates/web/markitup/skins/mad_chatter/style.css +0 -121
data/spec/server_spec.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MadChatter::Server do
|
4
|
+
|
5
|
+
it 'should accept new connections' do
|
6
|
+
# todo
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'should allow me to join a room that already exists' do
|
10
|
+
# todo
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should not allow me to join a room that doesnt exist, unless I create it' do
|
14
|
+
# todo
|
15
|
+
end
|
16
|
+
|
17
|
+
# context '#send_message' do
|
18
|
+
# it 'should add regular messages to the message history' do
|
19
|
+
# MadChatter::MessageHistory.all.length.should == 0
|
20
|
+
# message = MadChatter::Message.new('message', 'regular message');
|
21
|
+
# MadChatter::Server.send_message message
|
22
|
+
# MadChatter::MessageHistory.all.length.should == 1
|
23
|
+
# end
|
24
|
+
# it 'should add status messages to the message history' do
|
25
|
+
# MadChatter::MessageHistory.all.length.should == 0
|
26
|
+
# message = MadChatter::Message.new('status', 'status message');
|
27
|
+
# MadChatter::Server.send_message message
|
28
|
+
# MadChatter::MessageHistory.all.length.should == 1
|
29
|
+
# end
|
30
|
+
# it 'should not add action messages to the message history' do
|
31
|
+
# MadChatter::MessageHistory.all.length.should == 0
|
32
|
+
# message = MadChatter::Message.new('action', 'action message');
|
33
|
+
# MadChatter::Server.send_message message
|
34
|
+
# MadChatter::MessageHistory.all.length.should == 0
|
35
|
+
# end
|
36
|
+
# it 'should not add user list messages to the message history' do
|
37
|
+
# MadChatter::MessageHistory.all.length.should == 0
|
38
|
+
# message = MadChatter::Message.new('users', 'list of users');
|
39
|
+
# MadChatter::Server.send_message message
|
40
|
+
# MadChatter::MessageHistory.all.length.should == 0
|
41
|
+
# end
|
42
|
+
# end
|
43
|
+
end
|
data/spec/users_spec.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# require 'spec_helper'
|
2
|
+
#
|
3
|
+
# describe MadChatter::Users do
|
4
|
+
#
|
5
|
+
# it 'should have a well-known interface' do
|
6
|
+
# [:users, :add, :update, :remove, :find_username_by_token, :current, :token_exists?].each do |m|
|
7
|
+
# MadChatter::Users.should respond_to(m)
|
8
|
+
# end
|
9
|
+
# end
|
10
|
+
#
|
11
|
+
# it 'should store users and their usernames' do
|
12
|
+
# MadChatter::Users.add 'token1', 'username1'
|
13
|
+
# MadChatter::Users.add 'token2', 'username2'
|
14
|
+
# MadChatter::Users.current.should == ['username1', 'username2']
|
15
|
+
# end
|
16
|
+
#
|
17
|
+
# it 'should encode into JSON correctly' do
|
18
|
+
# MadChatter::Users.add 'token1', 'username1'
|
19
|
+
# MadChatter::Users.add 'token2', 'username2'
|
20
|
+
# MadChatter::Users.to_json.should == '{"type":"users","json":["username1","username2"]}'
|
21
|
+
# end
|
22
|
+
#
|
23
|
+
# end
|
data/templates/extensions.rb
CHANGED
@@ -12,18 +12,20 @@
|
|
12
12
|
# end
|
13
13
|
#
|
14
14
|
|
15
|
-
|
16
|
-
send_message "<iframe width='560' height='315' src='http://www.youtube.com/embed/#{youtube_id}' frameborder='0' allowfullscreen></iframe>"
|
17
|
-
stop_message_handling
|
18
|
-
end
|
15
|
+
#nothing in this file will work, now that we have multiple channels, sorry!!
|
19
16
|
|
20
|
-
on_message %r{/
|
21
|
-
|
22
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
on_message %r{
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
17
|
+
# on_message %r{^/youtube http://youtu.be/(.*)$} do |youtube_id|
|
18
|
+
# send_message "<iframe width='560' height='315' src='http://www.youtube.com/embed/#{youtube_id}' frameborder='0' allowfullscreen></iframe>"
|
19
|
+
# stop_message_handling
|
20
|
+
# end
|
21
|
+
#
|
22
|
+
# on_message %r{^/alert (.*)$} do |alert_message|
|
23
|
+
# send_action 'show_alert', alert_message
|
24
|
+
# stop_message_handling
|
25
|
+
# end
|
26
|
+
#
|
27
|
+
# on_message %r{^/earthquake$} do
|
28
|
+
# send_status_message 'Someone has just caused an earthquake!'
|
29
|
+
# send_action 'earthquake'
|
30
|
+
# stop_message_handling
|
31
|
+
# end
|