barrister-redis 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +29 -4
- data/lib/barrister-redis.rb +14 -5
- data/lib/barrister-redis/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f59ab5cd82cdc88e70c2488e04edeab0fc037e89
|
4
|
+
data.tar.gz: 4a16014fbafa16204f26de40d68d461598b16f99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02c8c12117b5cef6dc701980e7521173828dee31f9de72ba5d47cf016b42c081e2c295a8735284429d736124baf8c29b5c013152afbe6bf854e6a79984e74ebf
|
7
|
+
data.tar.gz: 00b25208a7d48922d01ac5e6ee4b1aee372424b0a0c16f6e1d158624c1d1fda7f9d4784d97c4eb689e4aac00452064595945b454df1d7c02c93b89109f0241da
|
data/README.md
CHANGED
@@ -2,6 +2,35 @@
|
|
2
2
|
|
3
3
|
A Redis server-container and transport for Barrister RPC.
|
4
4
|
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
To instantiate a Redis transport, you need only the URL of the Redis database
|
8
|
+
and the name of the list that client and server will be using as a message bus:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
|
12
|
+
list_name = 'foo_bar'
|
13
|
+
transport = Barrister::RedisTransport.new('redis://localhost:6379', list_name)
|
14
|
+
|
15
|
+
```
|
16
|
+
|
17
|
+
Instantiating a Redis container is easy as well, and follows a similar pattern:
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
|
21
|
+
json_path = './user_service.json'
|
22
|
+
database_url = 'redis://localhost:6379'
|
23
|
+
list_name = 'foo_bar'
|
24
|
+
handlers = [UserService]
|
25
|
+
|
26
|
+
container = Barrister::RedisContainer.new json_path, database_url, list_name, handlers
|
27
|
+
container.start
|
28
|
+
|
29
|
+
```
|
30
|
+
|
31
|
+
Calling the 'start' method of an instantiated RedisContainer will connect to
|
32
|
+
the Redis database and begin polling for inbound messages.
|
33
|
+
|
5
34
|
## Installation
|
6
35
|
|
7
36
|
Add this line to your application's Gemfile:
|
@@ -16,10 +45,6 @@ Or install it yourself as:
|
|
16
45
|
|
17
46
|
$ gem install barrister-redis
|
18
47
|
|
19
|
-
## Usage
|
20
|
-
|
21
|
-
TODO: Write usage instructions here
|
22
|
-
|
23
48
|
## Contributing
|
24
49
|
|
25
50
|
1. Fork it ( http://github.com/<my-github-username>/barrister-redis/fork )
|
data/lib/barrister-redis.rb
CHANGED
@@ -31,19 +31,28 @@ module Barrister
|
|
31
31
|
|
32
32
|
class RedisContainer
|
33
33
|
|
34
|
-
def initialize(json_path,
|
35
|
-
|
34
|
+
def initialize(json_path, handlers, options={})
|
35
|
+
options = {
|
36
|
+
database_url: 'redis://localhost:6379',
|
37
|
+
list_name: json_path.split('/')[-1].split('.')[0]
|
38
|
+
}.merge(options)
|
39
|
+
|
40
|
+
@list_name = options[:list_name]
|
36
41
|
|
37
42
|
# establish connection to Redis
|
38
|
-
@client = ::Redis.connect url: database_url
|
43
|
+
@client = ::Redis.connect url: options[:database_url]
|
39
44
|
|
40
45
|
# initialize service
|
41
46
|
contract = Barrister::contract_from_file(json_path)
|
42
47
|
@server = Barrister::Server.new(contract)
|
43
48
|
|
49
|
+
# in case we are passed a single handler
|
50
|
+
handlers = handlers.kind_of?(Array) ? handlers : [handlers]
|
51
|
+
|
44
52
|
# register each provided handler
|
45
|
-
handlers.each do |
|
46
|
-
|
53
|
+
handlers.each do |handler|
|
54
|
+
iface_name = handler.class.to_s.split('::').last
|
55
|
+
@server.add_handler iface_name, handler
|
47
56
|
end
|
48
57
|
end
|
49
58
|
|
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.
|
4
|
+
version: 0.0.3
|
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-
|
11
|
+
date: 2014-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|