barrister-redis 0.0.1 → 0.0.2

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: cbeabb72bdbfc9afbb03c75a14a208148153dcd7
4
- data.tar.gz: b1c027c627dfc656c20d7742576d3f27a1a2dfad
3
+ metadata.gz: 6feaeedde87a54aa056308f4990a5bc3ee3e0505
4
+ data.tar.gz: a3bed90a34e91a277343a813213852ca13097953
5
5
  SHA512:
6
- metadata.gz: 8a47f29fd1e9d986bf19fb25e2e723cb01925f7646a80c93652c4de6bd115bb57e73735e152845cf6f660c6233f6b8b95c9305f221a1370c286241974f4be92f
7
- data.tar.gz: 92d5d96fc28d1a22a577ac01c4c97113c8722203e5f4c54cf4992dd61540a66da102c4473b72166eafe649030a75fe73a0ba9d7dbb864fd019117f4e96e5d34d
6
+ metadata.gz: 31e86af94dce36cca7dbd1488c3156ea6961c9d71c8cda1d4ace3d1b0c54a0ffc50e8fb5bda4fe1daaf27df3c84e47a5a66d18df4d9d733aabf91292c650aa05
7
+ data.tar.gz: 136c4100f86e29a2296a6826492850fd8c6197579a010ec6baf29195d811342c10f5995e25eb9b0c07dd66658a4eb861b665207d3bdc9ce8ed0cfeb096147117
@@ -1,5 +1,5 @@
1
1
  module Barrister
2
2
  module Redis
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
@@ -1,78 +1,67 @@
1
1
  require "barrister-redis/version"
2
2
  require 'barrister'
3
3
  require 'redis'
4
- require 'pry'
5
4
 
6
5
  module Barrister
7
6
 
8
- module Transports
7
+ class RedisTransport
9
8
 
10
- class Redis
11
-
12
- def initialize(list_name, database_url)
13
- @list_name = list_name
14
- @client = ::Redis.connect url: database_url
15
- end
16
-
17
- def request(message)
18
- # reply-to tells the server where we'll be listening
19
- request = {
20
- 'reply_to' => 'reply-' + SecureRandom.uuid,
21
- 'message' => message
22
- }
9
+ def initialize(database_url, list_name)
10
+ @list_name = list_name
11
+ @client = ::Redis.connect url: database_url
12
+ end
23
13
 
24
- # insert our request at the head of the list
25
- @client.lpush(@list_name, JSON.generate(request))
14
+ def request(message)
15
+ # reply-to tells the server where we'll be listening
16
+ request = {
17
+ 'reply_to' => 'reply-' + SecureRandom.uuid,
18
+ 'message' => message
19
+ }
26
20
 
27
- # pop last element off our list in a blocking fashion
28
- channel, response = @client.brpop(request['reply_to'], timeout=30)
21
+ # insert our request at the head of the list
22
+ @client.lpush(@list_name, JSON.generate(request))
29
23
 
30
- JSON.parse(response)['message']
31
- end
24
+ # pop last element off our list in a blocking fashion
25
+ channel, response = @client.brpop(request['reply_to'], timeout=30)
32
26
 
27
+ JSON.parse(response)['message']
33
28
  end
34
29
 
35
30
  end
36
31
 
37
- module Containers
32
+ class RedisContainer
38
33
 
39
- class Redis
34
+ def initialize(json_path, database_url, list_name, handlers)
35
+ @list_name = list_name
40
36
 
41
- def initialize(json_path, database_url, list_name, handlers=[])
42
- @list_name = list_name
37
+ # establish connection to Redis
38
+ @client = ::Redis.connect url: database_url
43
39
 
44
- # establish connection to Redis
45
- @client = ::Redis.connect url: database_url
46
-
47
- # initialize service
48
- contract = Barrister::contract_from_file(json_path)
49
- @server = Barrister::Server.new(contract)
50
-
51
- # register each provided handler
52
- handlers.each do |(interface_name, interface_klass)|
53
- @server.add_handler interface_name, interface_klass.new
54
- end
40
+ # initialize service
41
+ contract = Barrister::contract_from_file(json_path)
42
+ @server = Barrister::Server.new(contract)
55
43
 
44
+ # register each provided handler
45
+ handlers.each do |handler_klass|
46
+ @server.add_handler handler_klass.to_s, handler_klass.new
56
47
  end
48
+ end
57
49
 
58
- def start
59
- while true
60
- # pop last element off our list in a blocking fashion
61
- channel, request = @client.brpop(@list_name)
62
-
63
- parsed = JSON.parse request
50
+ def start
51
+ while true
52
+ # pop last element off our list in a blocking fashion
53
+ channel, request = @client.brpop(@list_name)
64
54
 
65
- # reverse the message we were sent
66
- response = {
67
- 'message' => @server.handle(parsed['message'])
68
- }
55
+ parsed = JSON.parse request
69
56
 
70
- # 'respond' by inserting our reply at the head of a 'reply'-list
71
- @client.lpush(parsed['reply_to'], JSON.generate(response))
72
- end
57
+ # reverse the message we were sent
58
+ response = {
59
+ 'message' => @server.handle(parsed['message'])
60
+ }
73
61
 
62
+ # 'respond' by inserting our reply at the head of a 'reply'-list
63
+ @client.lpush(parsed['reply_to'], JSON.generate(response))
74
64
  end
75
-
76
65
  end
77
66
 
78
67
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: barrister-redis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erin Swenson-Healey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-25 00:00:00.000000000 Z
11
+ date: 2014-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis