jugglite 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: 1b8b36b0f752a876d6d10ca1661706aa5c2440cc
4
- data.tar.gz: e13785f1c6119aba08962b54757bbdd5867c9e6f
3
+ metadata.gz: 82002ee49bbedda3d7b82861ba2ba736948e3ff9
4
+ data.tar.gz: e38c074d4e77ada440ddf98c0d481ccde469d9c9
5
5
  SHA512:
6
- metadata.gz: 734a89a4f52d0bca5a1eb9860125cd7a590d485e8ee25988903fdc64932be50088f81da4101aa6970ac29654f2fb9faca21e439d9fb86552069082f4e1989590
7
- data.tar.gz: 046044ba7e83f763141c9010cad5df8446937e5e24e35142bcc5e7923110f4393d76f4981f9d6f46b189ed3f449fc77a2378b0044f3d37cae5eedc4021818ab4
6
+ metadata.gz: d741e66346520c6039c3bd25ef07d01fb47f15e108a7c507ef5ea06df30ada7fb7d65f739f1fbccd8c5b50ef1dd18ad51c2f3544ab7ebec826c332bf5885f2e5
7
+ data.tar.gz: 2d54a2d640965daaeef872d02557c67095fb6c1f5235a62d26adff418185513b072b14f77781b35a42c2619701cf7db854a30d8a0c91a8cc46a2c69eb8639c1e
data/.travis.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 2.1.0
4
+ - 2.0.0
3
5
  - 1.9.3
4
- - 1.9.2
5
- - rbx-19mode
data/CHANGELOG CHANGED
@@ -1,3 +1,11 @@
1
+ = 0.2.0 / 2014-02-25
2
+
3
+ * If message is JSON, extract 'event' and 'id' from the message
4
+
5
+ = 0.1.0 / 2014-02-21
6
+
7
+ * Compatible with newer em-hiredis
8
+
1
9
  = 0.0.4 / 2012-12-13
2
10
 
3
11
  * support for listening to a unix socket using the --socket commandline option
data/lib/jugglite/app.rb CHANGED
@@ -101,10 +101,11 @@ module Jugglite
101
101
 
102
102
  def expedite_incoming_message(channel, message)
103
103
  no_connection_listening = true
104
+ options = extract_options_from_message(message)
104
105
  # Select upfront and use EM::Iterator
105
106
  @subscription_map.each do |connection, channels|
106
107
  if channels.include?(channel)
107
- connection.write message
108
+ connection.write message, options
108
109
  no_connection_listening = false
109
110
  end
110
111
  end
@@ -118,5 +119,16 @@ module Jugglite
118
119
  @redis_channels.delete(channel)
119
120
  end
120
121
  end
122
+
123
+ def extract_options_from_message(message)
124
+ data = JSON.parse(message)
125
+ options = {}
126
+ options['event'] = data.delete('event') if data['event']
127
+ options['id'] = data.delete('id') if data['id']
128
+ options
129
+ rescue JSON::ParserError
130
+ # The message is not valid json, so we are not able to extract options
131
+ {}
132
+ end
121
133
  end
122
134
  end
@@ -1,3 +1,3 @@
1
1
  module Jugglite
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jugglite
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
  - andruby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-21 00:00:00.000000000 Z
11
+ date: 2014-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thin