simplepubsub 1.2.1 → 1.2.2

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: bc7b8839c716ed5d08576e646e35f512ffdf7487
4
- data.tar.gz: 467c2f9bc7afcb2468c81f9e12047e77b2f59065
3
+ metadata.gz: 3025823552811eddbad0d383fdbbba8f07e64561
4
+ data.tar.gz: db4f640fc4910535e34e4aa72f66d39a40e43dc9
5
5
  SHA512:
6
- metadata.gz: e35623005cec1fa962299ef6ae32744bf78841a834b096dc99b9001a43ae8bda2b516ac48925c75c01d476ce6fde3e8c8a81ab9b47e2dc1a4dc4f9cd0d3503a4
7
- data.tar.gz: 82c22bb7f9c83fb858613739ee711669fa4f009cdf06fe19ea48c78b5a0eb7349b97cdbe1916310f4da0b1052f9256be90574c457c6e21e0f2f0f4ae1fd45360
6
+ metadata.gz: bcfb6000a19538946c2864b4469a5d1a4cbd1e6219fe87cc787ccd116f5ac92789d67c11b6dd2a34ccb14e49ac63b3e53e374e04b9b15be5a5d2c01f4f1569fe
7
+ data.tar.gz: 3a9b958c75a7331d48f7511822b4db8bc42a8e0e16df3a0dfd10021ffbc19ee4c249fdb8e55deab32bc66a3cdf539031022f20eaf794af141f2ab80437beeae9
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/simplepubsub.rb CHANGED
@@ -26,7 +26,7 @@ module SimplePubSub
26
26
  ws.onmessage do |msg, type|
27
27
 
28
28
  msg = '' if not msg[0][/\w/]
29
- a = msg.strip.split(/\s*:\s*/,2)
29
+ a = msg.lstrip.split(/\s*:\s/,2)
30
30
 
31
31
  def ws.subscriber?()
32
32
  false
@@ -53,12 +53,21 @@ module SimplePubSub
53
53
  if not current_topic[0] == '/' and \
54
54
  not current_topic =~ /[^a-zA-Z0-9\/_ ]$/ then
55
55
 
56
- reg = XMLRegistry.new
57
- reg[current_topic] = message
56
+ begin
57
+
58
+ reg = XMLRegistry.new
59
+ reg[current_topic] = message
60
+
61
+ rescue
62
+ puts 'simplepubsub.rb warning: ' + ($!).inspect
63
+ end
58
64
 
59
65
  subscribers.each do |topic,conns|
60
-
61
- node = reg.doc.root.xpath topic.sub(/\S\b$/,'\0/text()')
66
+
67
+ xpath = topic.split('/')\
68
+ .map {|x| x.to_i.to_s == x ? x.prepend('x') : x}\
69
+ .join('/')
70
+ node = reg.doc.root.xpath xpath.sub(/\S\b$/,'\0/text()')
62
71
 
63
72
  if node.any? then
64
73
  conns.each {|x| x.send current_topic + ': ' + message}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplepubsub
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  kIiwfbNsuzjbgWzdKm7Rmqd2eqM34Vn+TRGopqMQ8lTxyrQst+2LQnDV0BVrkl+h
32
32
  GtYDHIOX5GPNIg==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-11-19 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: websocket-eventmachine-server
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  version: '0'
101
101
  requirements: []
102
102
  rubyforge_project:
103
- rubygems_version: 2.4.8
103
+ rubygems_version: 2.5.1
104
104
  signing_key:
105
105
  specification_version: 4
106
106
  summary: The SimplePubSub gem is a messaging broker which uses Eventmachine + websockets.
metadata.gz.sig CHANGED
Binary file