mad_chatter 0.2.8 → 0.2.9

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mad_chatter (0.2.7)
4
+ mad_chatter (0.2.8)
5
5
  daemons (= 1.1.4)
6
6
  em-websocket
7
7
  eventmachine
@@ -18,13 +18,15 @@ module MadChatter
18
18
  end
19
19
 
20
20
  def send_message(text)
21
- message = MadChatter::Message.new('message', text)
22
- send_json(message.to_json)
21
+ json = MadChatter::Message.new('message', text).to_json
22
+ send_json(json)
23
+ MadChatter::MessageHistory.add(json)
23
24
  end
24
25
 
25
26
  def send_status_message(text)
26
- message = MadChatter::Message.new('status', text)
27
- send_json(message.to_json)
27
+ json = MadChatter::Message.new('status', text).to_json
28
+ send_json(json)
29
+ MadChatter::MessageHistory.add(json)
28
30
  end
29
31
 
30
32
  def send_users_list
@@ -0,0 +1,10 @@
1
+ module MadChatter
2
+ class MarkdownRenderer < Redcarpet::Render::HTML
3
+ def link(link, title, alt_text)
4
+ "<a target=\"_blank\" href=\"#{link}\">#{alt_text}</a>"
5
+ end
6
+ def autolink(link, link_type)
7
+ "<a target=\"_blank\" href=\"#{link}\">#{link}</a>"
8
+ end
9
+ end
10
+ end
@@ -75,7 +75,6 @@ module MadChatter
75
75
 
76
76
  def self.send_json(json)
77
77
  MadChatter::Server.main_channel.push(json)
78
- MadChatter::MessageHistory.add(json)
79
78
  end
80
79
 
81
80
  end
@@ -1,5 +1,5 @@
1
1
  module MadChatter
2
2
 
3
- VERSION = '0.2.8'
3
+ VERSION = '0.2.9'
4
4
 
5
5
  end
data/lib/mad_chatter.rb CHANGED
@@ -16,6 +16,7 @@ module MadChatter
16
16
  require 'mad_chatter/config'
17
17
  require 'mad_chatter/message'
18
18
  require 'mad_chatter/message_history'
19
+ require 'mad_chatter/markdown_renderer'
19
20
  require 'mad_chatter/server'
20
21
  require 'mad_chatter/users'
21
22
  require 'mad_chatter/version'
@@ -27,14 +28,15 @@ module MadChatter
27
28
  require 'mad_chatter/servers/em_websocket'
28
29
 
29
30
  def self.markdown
30
- @markdown ||= Redcarpet::Markdown.new(
31
- Redcarpet::Render::HTML.new(
32
- :filter_html => true,
33
- :hard_wrap => true
34
- ),
31
+ redcarpet_config = {
35
32
  :autolink => true,
36
33
  :no_intra_emphasis => true
37
- )
34
+ }
35
+ renderer_config = {
36
+ :filter_html => true,
37
+ :hard_wrap => true
38
+ }
39
+ @markdown ||= Redcarpet::Markdown.new(MadChatter::MarkdownRenderer.new(renderer_config), redcarpet_config)
38
40
  end
39
41
 
40
42
  def self.start
data/spec/message_spec.rb CHANGED
@@ -20,7 +20,17 @@ describe MadChatter::Message do
20
20
 
21
21
  it 'should be able to handle messages made of empty space' do
22
22
  message = MadChatter::Message.new('message', " ")
23
- message.filter.should match ''
23
+ message.filter.should == ''
24
+ end
25
+
26
+ it 'should add target="_blank" to links' do
27
+ message = MadChatter::Message.new('message', "[link me up](http://www.example.com)")
28
+ message.filter.should match %r{<a target="_blank" href="http://www.example.com">link me up</a>}
29
+ end
30
+
31
+ it 'should also add target="_blank" to links that were autolinked' do
32
+ message = MadChatter::Message.new('message', 'http://www.example.com')
33
+ message.filter.should match %r{<a target="_blank" href="http://www.example.com">http://www.example.com</a>}
24
34
  end
25
35
  end
26
36
 
@@ -16,6 +16,7 @@ var MadChatter = {
16
16
  ws.onopen = function(){};
17
17
  ws.onclose = function(){
18
18
  MadChatter.display_status('You have been disconnected');
19
+ // setTimeout('("MadChatter.reconnect('+ws_host+'")', 10000); //need to figure out how to re-join chat onopen
19
20
  };
20
21
  ws.onmessage = function(evt){
21
22
  //console.log(evt.data)
@@ -25,6 +26,10 @@ var MadChatter = {
25
26
  MadChatter.ws = ws;
26
27
  },
27
28
 
29
+ // reconnect: function(){
30
+ // console.log('trying to reconnect...');
31
+ // },
32
+
28
33
  wait_for_join: function(){
29
34
  $('#username').keyup(function (event) {
30
35
  if (event.keyCode == 13) { // The enter key.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mad_chatter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-11 00:00:00.000000000 Z
12
+ date: 2012-01-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &2168902960 !ruby/object:Gem::Requirement
16
+ requirement: &2164352360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2168902960
24
+ version_requirements: *2164352360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: eventmachine
27
- requirement: &2168902340 !ruby/object:Gem::Requirement
27
+ requirement: &2164351740 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2168902340
35
+ version_requirements: *2164351740
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: em-websocket
38
- requirement: &2168901700 !ruby/object:Gem::Requirement
38
+ requirement: &2164351060 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2168901700
46
+ version_requirements: *2164351060
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: redcarpet
49
- requirement: &2168901060 !ruby/object:Gem::Requirement
49
+ requirement: &2164372120 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *2168901060
57
+ version_requirements: *2164372120
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: daemons
60
- requirement: &2168900260 !ruby/object:Gem::Requirement
60
+ requirement: &2164371620 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - =
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.1.4
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *2168900260
68
+ version_requirements: *2164371620
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
- requirement: &2168899840 !ruby/object:Gem::Requirement
71
+ requirement: &2164371200 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2168899840
79
+ version_requirements: *2164371200
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: shoulda
82
- requirement: &2168899380 !ruby/object:Gem::Requirement
82
+ requirement: &2164370740 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2168899380
90
+ version_requirements: *2164370740
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: simplecov
93
- requirement: &2168898960 !ruby/object:Gem::Requirement
93
+ requirement: &2164370320 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *2168898960
101
+ version_requirements: *2164370320
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: guard
104
- requirement: &2168898540 !ruby/object:Gem::Requirement
104
+ requirement: &2164369900 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *2168898540
112
+ version_requirements: *2164369900
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: guard-rspec
115
- requirement: &2168898100 !ruby/object:Gem::Requirement
115
+ requirement: &2164369480 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *2168898100
123
+ version_requirements: *2164369480
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: rb-fsevent
126
- requirement: &2168897680 !ruby/object:Gem::Requirement
126
+ requirement: &2164369060 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *2168897680
134
+ version_requirements: *2164369060
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: ruby-growl
137
- requirement: &2168897260 !ruby/object:Gem::Requirement
137
+ requirement: &2164368640 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,7 +142,7 @@ dependencies:
142
142
  version: '0'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *2168897260
145
+ version_requirements: *2164368640
146
146
  description: Mad Chatter is a fun, easy to customize chat server, utilizing HTML 5
147
147
  Web Sockets
148
148
  email:
@@ -169,6 +169,7 @@ files:
169
169
  - lib/mad_chatter/actions/rename.rb
170
170
  - lib/mad_chatter/config.rb
171
171
  - lib/mad_chatter/daemon.rb
172
+ - lib/mad_chatter/markdown_renderer.rb
172
173
  - lib/mad_chatter/message.rb
173
174
  - lib/mad_chatter/message_history.rb
174
175
  - lib/mad_chatter/server.rb