sps_chat 0.1.1 → 0.2.3

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
- SHA1:
3
- metadata.gz: a0f48b2b5a5b99bdf677f2eafc88d6dd4d793817
4
- data.tar.gz: 31ffa5fbc27e79ae4a53297a0f2ea49dfa33e555
2
+ SHA256:
3
+ metadata.gz: 9d875ddad8dbef6d679a230f5654343ee990291b88e57fffad9fd03c2ce8d3d3
4
+ data.tar.gz: 2459157877bb945e3d134c6b4dd9dcf06252276e0014d0c1b44f5a2c29c34db1
5
5
  SHA512:
6
- metadata.gz: 2a9610ece62aa1068d0aa376a5f16b96f4144f49e6ed28f5c25bdca50a6044e8df3cf82d1fedf77d6da606edd49e36f0a486ebe9420679adaffafa80028452df
7
- data.tar.gz: 96278bf1a54c4fd13eb4a86f5f41c61ecf90f0010950cb3ebb0580e5a6c917fc38f63931dea29ace35e0c85d9aea0c92b1228b185e553d41eb3d14d9aa96830b
6
+ metadata.gz: 7f7a0a8a5ae55e1e2b7430425b3e5f72ab87817a25315ddfa5264f0df7b0e856e30b5489939691158715c8d035b7381c204361b3ba8d42c40a59dfe7291223fc
7
+ data.tar.gz: ce8b0668f37344de260ef56f6c7775ad3fe84080861d0941ed1e59f7d2b839fe218d85fe6cd3b1a186adc289969a29a65f3a6c2fd6ec6acaa81f199df7fabb8c
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -2,50 +2,44 @@
2
2
 
3
3
  # file: sps_chat.rb
4
4
 
5
- require 'sps-pub'
6
- require 'sps-sub'
5
+ require 'sps_duplex'
7
6
 
8
7
 
9
- class SPSChat
8
+ class SPSChat < SPSDuplex
10
9
 
11
10
  def initialize(host: 'localhost', port: '8080', \
12
- userid: 'user' + (0..1000).to_a.sample.to_s, room: '')
11
+ userid: 'user' + (0..1000).to_a.sample.to_s, room: '', \
12
+ interactive: true)
13
13
 
14
- @userid = userid
15
-
16
- sps = SPSSub.new host: host, port: port, callback: self
17
- puts 'connecting ...'
18
- sleep 1 # give it a second to connect
19
-
20
- topic = ['chat']
21
- topic << room if room.length > 0
22
-
23
- Thread.new { sps.subscribe topic: (topic + ['#']).join('/') }
24
-
25
- @pub = SPSPub.new address: host, port: port
26
-
27
- topic << userid
28
- @topic = topic.join('/')
14
+ @userid = userid
15
+ super(host: host, port: port, topic: 'chat',
16
+ sub_topic: '#', pub_topic: userid, interactive: interactive)
29
17
 
30
18
  end
31
-
32
- def send(msg)
33
-
34
- @pub.notice ("%s: %s" % [@topic, msg])
35
-
19
+
20
+ def typing(c)
21
+
22
+ @pub.notice ("%s/typing: %s" % [@topic, c])
23
+
36
24
  end
37
-
25
+
38
26
  # used by the callback routine
39
27
  #
40
28
  def ontopic(topic, msg)
29
+
30
+ typing = false
41
31
 
42
- sender = topic.split('/').last
32
+ a = topic.split('/')
33
+ sender = a.pop
34
+ (sender = a.pop; typing = true) if sender == 'typing'
35
+
43
36
  return if sender == @userid
44
- onincoming sender, msg
37
+
38
+ typing ? onincoming(sender, msg, true) : onincoming(sender, msg)
45
39
 
46
40
  end
47
-
48
- def onincoming(sender, msg)
41
+
42
+ def onincoming(sender, msg, typing=false)
49
43
 
50
44
  puts "%s: %s" % [sender, msg]
51
45
 
@@ -58,4 +52,4 @@ if __FILE__ == $0 then
58
52
  chat = SPSChat.new port: 8080
59
53
  chat.send 'hello'
60
54
 
61
- end
55
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sps_chat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,71 +10,55 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
- YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE1MDUxNjEzNTA1MFoXDTE2MDUxNTEzNTA1MFowSDESMBAG
16
- A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
- EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAL3SaulNfNDL8IB2z9L0K6Kt+xB/8Yf4xvvv46V3UFI8KO79EH6M9ZHO/yal
19
- 84jXc1Kp3M04WyYXmJiuy34jGqU9r7Ruh/6q9pReU3Ny4i8I0FpnocxM9ZbzqSf6
20
- Asb8c3q05oJwYkXkR+3KDZsOMRebH5rC+yI9n+WJjOiCxtIeD7VlLxu0WzG63np3
21
- P5XLmXOFs0D0fmoQDyzfJC6SRZH75pIWwTyzigiS6kfqXtfZOFYrtzOWdsZRHIPe
22
- 6DYUKAF+aMlzcPE/WEQcW52Qr03TgT1j9DrPwKbkhdbEf2cJ0oGrO6MiXVv0QOKn
23
- 3FWVRgAthKm8SB+X4ZK0crd9g/cCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUaOluG7q2Pe2iP+eaEEGGy1mRpiwwJgYDVR0RBB8w
25
- HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAD8EykR9p
27
- 8/CWVWk5J6PKJeMPTkcij5n+oXcz4+iqK5vcSu3wLl/lNokPAiC8tQQsUOnX9ZaR
28
- ps4tJ15i/5QnVlkJbOMQM7aGbKo96NinPSKsElCVWKCWb3FruoG1GBOqgscaC8XI
29
- CvuJUGK/3GltuZMKPjLR38jmR9pNPmuXL7iGUm1pXP9SOPvRyIDycYmOcn8353++
30
- AHPo0PTTGl+cyp2W4K88QTcPJl9ihNc1QrfF611Kks1v0/Pyza+xyvEEh3dhEEVb
31
- lCVLcSK4BUROwuCG5CzgZgqMqPhEPu8W3rU4v6OD1HLgfu7iGHbIAs3gAGRCrJRD
32
- VIkRGnNW0mJBFw==
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjAwNjI4MjIyMDEzWhcN
15
+ MjEwNjI4MjIyMDEzWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCsFDoo
17
+ duN8T8Ei+qS0B6ytzJVd+31Mla0DrwZvtyGI/FSMCh/TbHpHn9LsMDPFtLOQDYu6
18
+ RBZJkB7/xdMh7DUNu0Smz2kkd/9AmaJsYz6bnhuNxNkAJyL2zekXLlXFSbK5vCQ/
19
+ /aDQry7pMIIngVM7+YX6gYeI/13GCBF2+i4ZecsR9GXWGb9c/g/mcItqQX/Fhb1C
20
+ LZxfT+SA9Lxt8SlU2T8/LAosCtNEen9UQ1Itg4HeEVDT8Q4o1TW+nHdtZy4UYye0
21
+ jCXS02Gu4LfxaNdz54zbj0EhLSh3nHnY/PQq+dADyjhdJYgpeN8yqG+2xuzqP2+f
22
+ ZT8vMf1xhnR0o41OSR4YvWa9Mi3kYwboVfU9bajFUruGpXoTt3lSJajecuvgG+LV
23
+ 9U8Sf76XIhgpVgPQ20G1qE5UTpkHsLriDTU4yiPhxpdLFaBlrYHvm+buxBX510Rc
24
+ n9Hd0P4yTjmaZURxwx3KM9R23DWnmKO+i+eJj6PqQ1WO7/riJ85rMZG7VR0CAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUgSdp3VgA
26
+ PWIcfxqUT1w21gSG8UswJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAb7gvSxCAo1rJXdlQEkogpNCGXEZHSyXbw2v4kRZ+
29
+ uwMM2bVJpVHpmgRX5VvBtj3bA5YUdSsrhwM+690PLNX5k8WEjMLlGc0jfgc06xJA
30
+ ZHzqzCqoBGwldjvVvXMCX340G5Y09t12engvmifB6vUaff/wY1at2e3iJmKGMigA
31
+ Dk+UiKnDckxD9L0HW4BN/xaH301P/9FUj4sKJfubbSc+9iVg+tCbDMzsb6G6BpK0
32
+ DW8ReE+imzE0dxi+cynnwylqigu4RNYIukPhB/iVeRJ81taLpVvLruxzNw5wxiL9
33
+ kM4dPlF2TPVfto54AcLJfMybEQZn7fvh9SNh2eJIa3g0N0mMMWzQaTkupOOaOAIj
34
+ BcxQPKbnK2CnQz6BvHnbGIcDEukpvoGN8YA/sbdHgwvFnTJIO/qBRpJJSvBFr2tY
35
+ 7XwodBPa6KLOWIuL16JC50paqd7XoeoDaTPuC2KI8RsYZAv6Vd8hPBgDfXq0mtDH
36
+ 7Ko49NKbIUGUaAxKGRJEPOq9
33
37
  -----END CERTIFICATE-----
34
- date: 2016-04-16 00:00:00.000000000 Z
38
+ date: 2020-06-28 00:00:00.000000000 Z
35
39
  dependencies:
36
40
  - !ruby/object:Gem::Dependency
37
- name: sps-sub
41
+ name: sps_duplex
38
42
  requirement: !ruby/object:Gem::Requirement
39
43
  requirements:
40
44
  - - "~>"
41
45
  - !ruby/object:Gem::Version
42
- version: '0.2'
46
+ version: '0.1'
43
47
  - - ">="
44
48
  - !ruby/object:Gem::Version
45
- version: 0.2.0
49
+ version: 0.1.1
46
50
  type: :runtime
47
51
  prerelease: false
48
52
  version_requirements: !ruby/object:Gem::Requirement
49
53
  requirements:
50
54
  - - "~>"
51
55
  - !ruby/object:Gem::Version
52
- version: '0.2'
56
+ version: '0.1'
53
57
  - - ">="
54
58
  - !ruby/object:Gem::Version
55
- version: 0.2.0
56
- - !ruby/object:Gem::Dependency
57
- name: sps-pub
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - "~>"
61
- - !ruby/object:Gem::Version
62
- version: '0.4'
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- version: 0.4.0
66
- type: :runtime
67
- prerelease: false
68
- version_requirements: !ruby/object:Gem::Requirement
69
- requirements:
70
- - - "~>"
71
- - !ruby/object:Gem::Version
72
- version: '0.4'
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 0.4.0
59
+ version: 0.1.1
76
60
  description:
77
- email: james@r0bertson.co.uk
61
+ email: james@jamesrobertson.eu
78
62
  executables: []
79
63
  extensions: []
80
64
  extra_rdoc_files: []
@@ -99,10 +83,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
83
  - !ruby/object:Gem::Version
100
84
  version: '0'
101
85
  requirements: []
102
- rubyforge_project:
103
- rubygems_version: 2.4.8
86
+ rubygems_version: 3.0.3
104
87
  signing_key:
105
88
  specification_version: 4
106
89
  summary: A simple chat client which sends and receives messages through the SimplePubSub
107
- broker
90
+ broker.
108
91
  test_files: []
metadata.gz.sig CHANGED
Binary file