sps_chat-cli 0.1.0 → 0.2.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.
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