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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7be26039b58003cf3cba3c8680bbaae3f5ecafa2
4
- data.tar.gz: 52a8fe6eaa812796a41d6b1e6e0d77a877a09007
3
+ metadata.gz: a3a154d4c310a69539b34c9dc0be184ed5d8c60e
4
+ data.tar.gz: ee34bf79f30dcc9d09453d28332791d56399929f
5
5
  SHA512:
6
- metadata.gz: d975063100a9418cec70b5b5c2a092d9e7345b73d3053113eafeffb81ebbd3ff58bfc24afe8cee510a2df74b5819218b09b7177ee584bbb8b625f88de81d135a
7
- data.tar.gz: 02dfa40546700721bd38da30f0521fc5d56d1295867cf71ca4188703e672f735703ed8b8a1322e8b49b23e8d1e2766215b549ebd72b30a055ce709b0623b9721
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
- terminate = false
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
- (terminate = true; break) if c == CTRLC
33
-
34
- unless c == BACKSPACE then
35
- s += c
36
- print c
37
- else
38
- s.chop!
39
- print "\r> " + ' ' * s.length
40
- print "\r> " + s
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
- break if terminate
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
- s = ''
53
- print "\r%s> %s\n" % [sender.strip, msg]
54
- print "\r> "
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.1.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-25 00:00:00.000000000 Z
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.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.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