sps_chat-cli 0.1.0 → 0.2.0
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/lib/sps_chat-cli.rb +68 -23
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3a154d4c310a69539b34c9dc0be184ed5d8c60e
|
4
|
+
data.tar.gz: ee34bf79f30dcc9d09453d28332791d56399929f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b188a0746082705cdeb4dbfa4b1c140040f077cb221879a882b4efb79900293054d1fac24514438afc156f4104702d80eb26836943f9394c30feaf852e2c47b4
|
7
|
+
data.tar.gz: ba81207cb9c5d4f5ecaa156f458ecbb4aedf4dcb2d9a1150bd290937be1052b4302242f1fd2b2e7a22a0613368fed34e0bf9dcb7f0079789743c044741abc776
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/sps_chat-cli.rb
CHANGED
@@ -13,46 +13,91 @@ BACKSPACE = "\u007F"
|
|
13
13
|
class SPSChatCli < SPSChat
|
14
14
|
|
15
15
|
def initialize(host: '127.0.0.1', port: '8080', \
|
16
|
-
userid: 'user' + (0..1000).to_a.sample.to_s, room: '')
|
16
|
+
userid: 'user' + (0..1000).to_a.sample.to_s, room: '', typing_mode: false)
|
17
17
|
|
18
18
|
super(host: host, port: port, userid: userid, room: room)
|
19
|
-
|
19
|
+
|
20
|
+
@userid, @typing_mode = userid, typing_mode
|
21
|
+
terminated = false
|
22
|
+
@user, @history = {}, []
|
23
|
+
|
20
24
|
sleep 1
|
21
25
|
print "\r\n"
|
22
26
|
|
23
27
|
loop do
|
24
28
|
|
25
|
-
s = ''
|
29
|
+
@s = ''
|
26
30
|
|
27
|
-
print "\r> "
|
31
|
+
print "\r#{userid}> "
|
28
32
|
|
29
33
|
begin
|
30
34
|
|
31
35
|
c = $stdin.getch
|
32
|
-
(
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
36
|
+
(terminated = true; break) if c == CTRLC
|
37
|
+
|
38
|
+
if typing_mode then
|
39
|
+
|
40
|
+
unless c == "\r" then
|
41
|
+
typing c
|
42
|
+
else
|
43
|
+
c = "\n"
|
44
|
+
@history << "#{userid}> " + @s
|
45
|
+
send @s
|
46
|
+
end
|
41
47
|
end
|
42
|
-
end until c == "\r" or terminate
|
43
48
|
|
44
|
-
|
49
|
+
@s = savebuffer @s, c
|
50
|
+
print "\r#{@userid}> " + ' ' * @s.length if c == BACKSPACE
|
51
|
+
print "\r#{@userid}> " + @s
|
52
|
+
|
53
|
+
end until c == "\r" or c == "\n" or terminated
|
54
|
+
|
55
|
+
break if terminated
|
56
|
+
|
57
|
+
unless typing_mode then
|
58
|
+
print "\r" + @userid + '> ' + @s + "\n"
|
59
|
+
send @s
|
60
|
+
end
|
45
61
|
|
46
|
-
send s
|
47
|
-
print "\r" + @userid + '> ' + s + "\n"
|
48
62
|
end
|
49
63
|
end
|
50
64
|
|
51
|
-
def onincoming(sender, msg)
|
52
|
-
|
53
|
-
|
54
|
-
|
65
|
+
def onincoming(sender, msg, typing_mode=false)
|
66
|
+
|
67
|
+
if @typing_mode then
|
68
|
+
|
69
|
+
if msg.length <= 1 then
|
70
|
+
c = msg
|
71
|
+
|
72
|
+
@user[sender] ||= ''
|
73
|
+
@user[sender] = savebuffer @user[sender], c
|
74
|
+
print "\e[H\e[2J"
|
75
|
+
print "\r\n" + @history.join("\r\n") + "\r\n"
|
76
|
+
else
|
77
|
+
c = "\n"
|
78
|
+
@history << "#{sender}> " + @user[sender]
|
79
|
+
@user[sender] = ''
|
80
|
+
end
|
81
|
+
|
82
|
+
@user.each do |u, s|
|
83
|
+
print "\r\r#{u}> " + s + "\n" unless s.empty?
|
84
|
+
end
|
85
|
+
|
86
|
+
print "\r#{@userid}> " + @s
|
87
|
+
|
88
|
+
else
|
89
|
+
print "\r%s> %s\n" % [sender, msg]
|
90
|
+
print "\r%s> " % @userid
|
91
|
+
end
|
55
92
|
end
|
93
|
+
|
94
|
+
def savebuffer(s, c='')
|
95
|
+
|
96
|
+
c == BACKSPACE ? s.chop! : s += c
|
97
|
+
|
98
|
+
return s
|
99
|
+
end
|
100
|
+
|
101
|
+
|
56
102
|
|
57
|
-
end
|
58
|
-
|
103
|
+
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sps_chat-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
S93hTip+l2DKiPUPFdQEWto/f5Yjg6Oq5Z+zegu+tA26pxZcpxHwqLq2Q0Ee87Iy
|
32
32
|
90HSKjXEO3y4SA==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2016-07-
|
34
|
+
date: 2016-07-26 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: sps_chat
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
version: '0.1'
|
43
43
|
- - ">="
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.1.
|
45
|
+
version: 0.1.2
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
48
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -52,7 +52,7 @@ dependencies:
|
|
52
52
|
version: '0.1'
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 0.1.
|
55
|
+
version: 0.1.2
|
56
56
|
description:
|
57
57
|
email: james@r0bertson.co.uk
|
58
58
|
executables: []
|
metadata.gz.sig
CHANGED
Binary file
|