cottontail 0.1.3 → 0.1.4
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.
- data/README.md +5 -5
- data/lib/cottontail.rb +25 -10
- data/lib/cottontail/version.rb +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -27,13 +27,13 @@ require 'bunny'
|
|
27
27
|
class Worker < Cottontail::Base
|
28
28
|
# configure the Bunny client with the default connection (host: "localhost", port: 5672)
|
29
29
|
# and with logging.
|
30
|
-
|
30
|
+
client :logging => true
|
31
31
|
|
32
|
-
# Declare
|
33
|
-
|
32
|
+
# Declare `test` direct exchange which is bound to all queues of the type `topic`
|
33
|
+
exchange "test", :type => :topic
|
34
34
|
|
35
|
-
# Declare
|
36
|
-
|
35
|
+
# Declare a durable `test` queue
|
36
|
+
queue "test", :durable => true
|
37
37
|
|
38
38
|
|
39
39
|
# Consume messages on the routing key: `message.received`.Within the provided block
|
data/lib/cottontail.rb
CHANGED
@@ -37,6 +37,21 @@ module Cottontail
|
|
37
37
|
class << self
|
38
38
|
attr_reader :routes
|
39
39
|
|
40
|
+
# Conveniently set the client
|
41
|
+
def client( *args, &block )
|
42
|
+
set :client, args, &block
|
43
|
+
end
|
44
|
+
|
45
|
+
# Conveniently set the exchange
|
46
|
+
def exchange( *args, &block )
|
47
|
+
set :exchange, args, &block
|
48
|
+
end
|
49
|
+
|
50
|
+
# Conveniently set the queue
|
51
|
+
def queue( *args, &block )
|
52
|
+
set :queue, args, &block
|
53
|
+
end
|
54
|
+
|
40
55
|
# Set runtime configuration
|
41
56
|
#
|
42
57
|
# @example
|
@@ -134,9 +149,9 @@ module Cottontail
|
|
134
149
|
set :subscribe, [{}, proc { |m| route! m }]
|
135
150
|
|
136
151
|
# default bunny options
|
137
|
-
|
138
|
-
|
139
|
-
|
152
|
+
client
|
153
|
+
exchange "default"
|
154
|
+
queue "default"
|
140
155
|
end
|
141
156
|
|
142
157
|
|
@@ -166,18 +181,18 @@ module Cottontail
|
|
166
181
|
# Starts the consumer service and enters the subscribe loop.
|
167
182
|
def run
|
168
183
|
# establish connection and bind routing keys
|
169
|
-
logger.debug "[Cottontail] Connecting to client"
|
170
|
-
@client = Bunny.new( settings(:client) )
|
184
|
+
logger.debug "[Cottontail] Connecting to client: #{settings(:client).inspect}"
|
185
|
+
@client = Bunny.new( *settings(:client) )
|
171
186
|
@client.start
|
172
187
|
|
173
|
-
logger.debug "[Cottontail] Declaring exchange"
|
188
|
+
logger.debug "[Cottontail] Declaring exchange: #{settings(:exchange).inspect}"
|
174
189
|
exchange = @client.exchange( *settings(:exchange) )
|
175
190
|
|
176
|
-
logger.debug "[Cottontail] Declaring queue"
|
177
|
-
queue = @client.queue( settings(:queue) )
|
191
|
+
logger.debug "[Cottontail] Declaring queue: #{settings(:queue).inspect}"
|
192
|
+
queue = @client.queue( *settings(:queue) )
|
178
193
|
|
179
194
|
routes.keys.each do |key|
|
180
|
-
logger.debug "[Cottontail] Binding #{key.inspect}
|
195
|
+
logger.debug "[Cottontail] Binding #{key.inspect}"
|
181
196
|
queue.bind( exchange, :key => key )
|
182
197
|
end
|
183
198
|
|
@@ -261,7 +276,7 @@ module Cottontail
|
|
261
276
|
#
|
262
277
|
# You may pass :hosts as option when settings the client in order to cycle through them in case a connection was lost.
|
263
278
|
def prepare_client_settings!
|
264
|
-
return {} unless options = settings(:client)
|
279
|
+
return {} unless options = settings(:client).first
|
265
280
|
|
266
281
|
if hosts = options[:hosts]
|
267
282
|
host, port = hosts.shift
|
data/lib/cottontail/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: cottontail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Rudolf Schmidt
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-03-
|
13
|
+
date: 2012-03-16 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bunny
|