jugglite 0.1.0 → 0.2.0

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