sps_chat 0.1.1 → 0.2.3

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
- 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