h2g_ajaxchat 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/h2g_ajaxchat.rb +55 -41
- metadata +10 -10
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 941e2d26eb4eb2933c760bfc321214f8278f2e6266f94a35b5bcfcf969c6e369
|
4
|
+
data.tar.gz: b9ec8471271d3dfee2d5316376e8889b71be9abb9fce803ed5698e150692d1df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51e2850f810132d03cfa9f71b2ff69e787ea1aaae16df17ffb327cae97672c8dbc4d33410c4dae131c43ed1e025d7a6a05380b426a5c1382511888786e269a56
|
7
|
+
data.tar.gz: 2e0f56b8e26b60accb24d4aabf5e60acdef9f1a8b731a5b795d9861e0cb3ba6bc083ddccf613b853f95678d75a73d0d76d89f522a109e8a2c8f49915906ea844
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/h2g_ajaxchat.rb
CHANGED
@@ -10,6 +10,7 @@ require 'simple-config'
|
|
10
10
|
|
11
11
|
# This file includes the following classes
|
12
12
|
#
|
13
|
+
# * AjaxChatPlugin Base class for plugins
|
13
14
|
# * DummyRequest (used for testing)
|
14
15
|
# * ChatCore (chat engine)
|
15
16
|
# * DummyRws (used for testing)
|
@@ -18,9 +19,31 @@ require 'simple-config'
|
|
18
19
|
# * Login < WebPage
|
19
20
|
# * Logout < WebPage
|
20
21
|
# * LogoutPost < WebPage
|
21
|
-
# * AjaxChat
|
22
|
+
# * AjaxChat (the main class)
|
22
23
|
|
23
24
|
|
25
|
+
class AjaxChatPlugin
|
26
|
+
|
27
|
+
def initialize(settings={})
|
28
|
+
end
|
29
|
+
|
30
|
+
# Customises the ajax chat html etc; ac = ajaxchat object
|
31
|
+
#
|
32
|
+
def apply(ac)
|
33
|
+
end
|
34
|
+
|
35
|
+
# messages from the plugin to be added to the chat timeline
|
36
|
+
#
|
37
|
+
def messages()
|
38
|
+
[]
|
39
|
+
end
|
40
|
+
|
41
|
+
# messages from the chat timeline
|
42
|
+
#
|
43
|
+
def on_newmessage(*a)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
24
47
|
class DummyRequest
|
25
48
|
|
26
49
|
def initialize()
|
@@ -136,20 +159,23 @@ end
|
|
136
159
|
|
137
160
|
class WebPage
|
138
161
|
|
139
|
-
attr_reader :name
|
140
162
|
attr_accessor :css, :html, :js, :s
|
141
163
|
|
142
|
-
def initialize(
|
143
|
-
@h
|
164
|
+
def initialize( h={} )
|
165
|
+
@h = h
|
144
166
|
end
|
145
167
|
|
146
168
|
def to_css()
|
147
169
|
end
|
148
170
|
|
149
171
|
def to_html()
|
172
|
+
b = binding
|
173
|
+
|
174
|
+
ERB.new(html()).result(b)
|
150
175
|
end
|
151
176
|
|
152
177
|
def to_js()
|
178
|
+
js()
|
153
179
|
end
|
154
180
|
|
155
181
|
def s()
|
@@ -157,7 +183,7 @@ class WebPage
|
|
157
183
|
end
|
158
184
|
|
159
185
|
def to_s()
|
160
|
-
|
186
|
+
s()
|
161
187
|
end
|
162
188
|
|
163
189
|
protected
|
@@ -189,7 +215,7 @@ end
|
|
189
215
|
class Index < WebPage
|
190
216
|
|
191
217
|
def initialize(h)
|
192
|
-
@
|
218
|
+
@h = h
|
193
219
|
end
|
194
220
|
|
195
221
|
def html()
|
@@ -220,9 +246,7 @@ div p span {colour: #dde}
|
|
220
246
|
|
221
247
|
def to_html()
|
222
248
|
|
223
|
-
|
224
|
-
|
225
|
-
ERB.new(@html).result(b)
|
249
|
+
super()
|
226
250
|
end
|
227
251
|
|
228
252
|
def js()
|
@@ -276,16 +300,13 @@ EOF
|
|
276
300
|
|
277
301
|
end
|
278
302
|
|
279
|
-
def to_js()
|
280
|
-
@js
|
281
|
-
end
|
282
303
|
|
283
304
|
end
|
284
305
|
|
285
306
|
class Login < WebPage
|
286
307
|
|
287
|
-
def initialize(h)
|
288
|
-
|
308
|
+
def initialize(h={})
|
309
|
+
|
289
310
|
end
|
290
311
|
|
291
312
|
def html()
|
@@ -303,16 +324,13 @@ class Login < WebPage
|
|
303
324
|
|
304
325
|
end
|
305
326
|
|
306
|
-
def to_html()
|
307
|
-
@html
|
308
|
-
end
|
309
327
|
|
310
328
|
end
|
311
329
|
|
312
330
|
class Logout < WebPage
|
313
331
|
|
314
|
-
def initialize(h)
|
315
|
-
|
332
|
+
def initialize(h={})
|
333
|
+
|
316
334
|
end
|
317
335
|
|
318
336
|
def html()
|
@@ -329,16 +347,13 @@ class Logout < WebPage
|
|
329
347
|
|
330
348
|
end
|
331
349
|
|
332
|
-
def to_html()
|
333
|
-
@html
|
334
|
-
end
|
335
350
|
|
336
351
|
end
|
337
352
|
|
338
353
|
class LogoutPost < WebPage
|
339
354
|
|
340
|
-
def initialize(h)
|
341
|
-
|
355
|
+
def initialize(h={})
|
356
|
+
|
342
357
|
end
|
343
358
|
|
344
359
|
def s()
|
@@ -346,10 +361,7 @@ class LogoutPost < WebPage
|
|
346
361
|
@s ||= 'You have successfully logged out'
|
347
362
|
|
348
363
|
end
|
349
|
-
|
350
|
-
def to_s()
|
351
|
-
@s
|
352
|
-
end
|
364
|
+
|
353
365
|
|
354
366
|
end
|
355
367
|
|
@@ -358,21 +370,25 @@ class AjaxChat
|
|
358
370
|
|
359
371
|
attr_reader :rws, :views
|
360
372
|
|
361
|
-
def initialize(chatobj, rws
|
373
|
+
def initialize(chatobj=ChatCore.new, rws: DummyRws.new(self), config: nil,
|
374
|
+
debug: false)
|
362
375
|
|
363
376
|
@chat, @rws, @debug = chatobj, rws, debug
|
364
377
|
|
365
|
-
plugins = if config then
|
378
|
+
@plugins = if config then
|
366
379
|
|
367
380
|
SimpleConfig.new(config).to_h.map do |name, settings|
|
381
|
+
|
368
382
|
puts 'name: ' + name.inspect if @debug
|
369
383
|
settings = {} if settings.is_a? String
|
370
384
|
|
385
|
+
next if settings[:disabled]
|
371
386
|
pluginklass_name = 'AjaxChatPlugin' + name.to_s
|
372
387
|
|
373
|
-
Kernel.const_get(pluginklass_name).new(settings)
|
388
|
+
#Kernel.const_get(pluginklass_name).new(settings)
|
389
|
+
eval("#{pluginklass_name}.new(#{settings})")
|
374
390
|
|
375
|
-
end
|
391
|
+
end.compact
|
376
392
|
|
377
393
|
else
|
378
394
|
|
@@ -396,7 +412,7 @@ class AjaxChat
|
|
396
412
|
logout_post: @logout_post
|
397
413
|
}
|
398
414
|
|
399
|
-
plugins.each {|plugin| plugin.apply(self) if plugin.respond_to? :apply }
|
415
|
+
@plugins.each {|plugin| plugin.apply(self) if plugin.respond_to? :apply }
|
400
416
|
|
401
417
|
end
|
402
418
|
|
@@ -417,12 +433,8 @@ class AjaxChat
|
|
417
433
|
@chat.chatter(@rws.req, newmsg) do |t, uid, username, msg|
|
418
434
|
|
419
435
|
@plugins.each do |plugin|
|
420
|
-
|
421
|
-
plugin.
|
422
|
-
|
423
|
-
x.on_newmesage(t, uid, username, msg) if x.respond_to? :on_newmessage
|
424
|
-
|
425
|
-
end
|
436
|
+
|
437
|
+
plugin.on_newmesage(t, uid, username, msg) if x.respond_to? :on_newmessage
|
426
438
|
|
427
439
|
end
|
428
440
|
|
@@ -480,7 +492,7 @@ class AjaxChat
|
|
480
492
|
|
481
493
|
end
|
482
494
|
|
483
|
-
#
|
495
|
+
# used for debugging
|
484
496
|
def messages()
|
485
497
|
@chat.messages
|
486
498
|
end
|
@@ -492,7 +504,7 @@ class AjaxChat
|
|
492
504
|
|
493
505
|
end
|
494
506
|
|
495
|
-
#
|
507
|
+
# used for debugging
|
496
508
|
def users()
|
497
509
|
@chat.users
|
498
510
|
end
|
@@ -501,6 +513,8 @@ class AjaxChat
|
|
501
513
|
|
502
514
|
def view(obj)
|
503
515
|
|
516
|
+
puts 'inside view obj: ' + obj.inspect if @debug
|
517
|
+
|
504
518
|
if obj.to_s.length > 0 then
|
505
519
|
obj.to_s
|
506
520
|
else
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: h2g_ajaxchat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,28 +35,28 @@ cert_chain:
|
|
35
35
|
PrknRa5wCOkWn6MNeaZ10MuRCv0E4IRGb8q/2WczGDXI3lmwDWOzPzia3/A32vdt
|
36
36
|
hlwWFeE0gWND9J9tivS5qxBI
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2020-07-
|
38
|
+
date: 2020-07-06 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: simple-config
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '0.6'
|
47
44
|
- - ">="
|
48
45
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
46
|
+
version: 0.7.0
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0.7'
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- - "~>"
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: '0.6'
|
57
54
|
- - ">="
|
58
55
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.
|
56
|
+
version: 0.7.0
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0.7'
|
60
60
|
description:
|
61
61
|
email: james@jamesrobertson.eu
|
62
62
|
executables: []
|
metadata.gz.sig
CHANGED
Binary file
|