barrister-redis 0.0.1 → 0.0.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: 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