isimud 1.3.9 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.yardoc/checksums +0 -15
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +17 -13
- data/LICENSE.txt +1 -1
- data/README.md +98 -62
- data/Rakefile +1 -1
- data/checksum/isimud-1.4.0.gem.sha512 +1 -0
- data/doc/Isimud.html +118 -138
- data/doc/Isimud/BunnyClient.html +2 -2
- data/doc/Isimud/Client.html +2 -2
- data/doc/Isimud/Event.html +2 -2
- data/doc/Isimud/EventListener.html +208 -88
- data/doc/Isimud/EventObserver.html +96 -31
- data/doc/Isimud/EventObserver/ClassMethods.html +14 -14
- data/doc/Isimud/Generators.html +2 -2
- data/doc/Isimud/Logging.html +2 -2
- data/doc/Isimud/ModelWatcher.html +2 -2
- data/doc/Isimud/ModelWatcher/ClassMethods.html +2 -2
- data/doc/Isimud/Railtie.html +2 -2
- data/doc/Isimud/TestClient.html +2 -2
- data/doc/Isimud/TestClient/Queue.html +74 -2
- data/doc/_index.html +2 -195
- data/doc/class_list.html +1 -1
- data/doc/file.LICENSE.html +3 -3
- data/doc/file.README.html +157 -65
- data/doc/index.html +157 -65
- data/doc/method_list.html +0 -732
- data/doc/top-level-namespace.html +2 -12
- data/lib/isimud.rb +22 -17
- data/lib/isimud/bunny_client.rb +12 -10
- data/lib/isimud/client.rb +10 -1
- data/lib/isimud/event_listener.rb +6 -6
- data/lib/isimud/test_client.rb +12 -12
- data/lib/isimud/version.rb +1 -1
- data/release +1 -1
- data/spec/isimud/bunny_client_spec.rb +28 -27
- data/spec/isimud/client_spec.rb +50 -5
- metadata +3 -4
- metadata.gz.sig +0 -0
- data/doc/Isimud/Generators/ConfigGenerator.html +0 -192
- data/doc/Isimud/Generators/InitializerGenerator.html +0 -192
data/doc/class_list.html
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
<ul id="full_list" class="class">
|
52
52
|
<li><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">Top Level Namespace</a></span></li>
|
53
|
-
|
53
|
+
|
54
54
|
|
55
55
|
</ul>
|
56
56
|
</div>
|
data/doc/file.LICENSE.html
CHANGED
@@ -61,12 +61,12 @@
|
|
61
61
|
|
62
62
|
<iframe id="search_frame"></iframe>
|
63
63
|
|
64
|
-
<div id="content"><div id='filecontents'>Copyright (c) 2016
|
64
|
+
<div id="content"><div id='filecontents'>Copyright (c) 2016 Welltok Inc.<br/><br/>Permission is hereby granted, free of charge, to any person obtaining a copy<br/>of this software and associated documentation files (the "Software"), to deal<br/>in the Software without restriction, including without limitation the rights<br/>to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br/>copies of the Software, and to permit persons to whom the Software is<br/>furnished to do so, subject to the following conditions:<br/><br/>The above copyright notice and this permission notice shall be included in all<br/>copies or substantial portions of the Software.<br/><br/>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br/>IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br/>FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE<br/>AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br/>LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,<br/>OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE<br/>SOFTWARE.</div></div>
|
65
65
|
|
66
66
|
<div id="footer">
|
67
|
-
Generated on
|
67
|
+
Generated on Wed Aug 24 18:59:45 2016 by
|
68
68
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
69
|
-
0.8.7.6 (ruby-2.
|
69
|
+
0.8.7.6 (ruby-2.3.0).
|
70
70
|
</div>
|
71
71
|
|
72
72
|
</body>
|
data/doc/file.README.html
CHANGED
@@ -62,6 +62,9 @@
|
|
62
62
|
<iframe id="search_frame"></iframe>
|
63
63
|
|
64
64
|
<div id="content"><div id='filecontents'>
|
65
|
+
<p><a href="https://badge.fury.io/rb/isimud"><img
|
66
|
+
src="https://badge.fury.io/rb/isimud.svg"></a></p>
|
67
|
+
|
65
68
|
<h1 id="label-Isimud-3A+AMQP+based+Messaging+and+Event+Processing+Abstraction+Component.">Isimud: AMQP based Messaging and Event Processing Abstraction Component.</h1>
|
66
69
|
|
67
70
|
<blockquote>
|
@@ -72,15 +75,12 @@ in opposite directions.</p>
|
|
72
75
|
<p><em>Source: Wikipedia</em></p>
|
73
76
|
</blockquote>
|
74
77
|
|
75
|
-
<p>Isimud is
|
76
|
-
following components:</p>
|
78
|
+
<p>Isimud is an AMQP message publishing and consumption gem intended for Rails
|
79
|
+
applications. It includes the following components:</p>
|
77
80
|
<ul><li>
|
78
81
|
<p>A <a href="http://rubybunny.info">Bunny</a> based client interface for
|
79
82
|
publishing and receiving messages using AMQP.</p>
|
80
83
|
</li><li>
|
81
|
-
<p>A test client which mocks most client operations and allows for synchronous
|
82
|
-
delivery and processing of messages for unit tests.</p>
|
83
|
-
</li><li>
|
84
84
|
<p>A Model Watcher mixin for ActiveRecord that automatically sends messages
|
85
85
|
whenever an ActiveRecord instance is created, modified, or destroyed.</p>
|
86
86
|
</li><li>
|
@@ -89,9 +89,12 @@ with the EventListener for receiving messages.</p>
|
|
89
89
|
</li><li>
|
90
90
|
<p>An Event Listener daemon process which manages queues and dispatches
|
91
91
|
messages for Event Observers.</p>
|
92
|
+
</li><li>
|
93
|
+
<p>A test client for mocking message publication, allowing synchronous
|
94
|
+
delivery and processing of messages in unit tests.</p>
|
92
95
|
</li></ul>
|
93
96
|
|
94
|
-
<
|
97
|
+
<h1 id="label-Installation">Installation</h1>
|
95
98
|
|
96
99
|
<p>Add this line to your application's Gemfile:</p>
|
97
100
|
|
@@ -114,18 +117,18 @@ $ rails g isimud:initializer</code></pre>
|
|
114
117
|
|
115
118
|
<p>Customize the AMQP broker settings in the config/isimud.yml</p>
|
116
119
|
|
117
|
-
<
|
120
|
+
<h1 id="label-Usage">Usage</h1>
|
118
121
|
|
119
|
-
<
|
122
|
+
<h2 id="label-Connecting+to+an+AMQP+Server">Connecting to an AMQP Server</h2>
|
120
123
|
|
121
124
|
<p>There are two supported conventions for specifying a RabbitMQ server
|
122
125
|
(broker) in the configuration file:</p>
|
123
126
|
|
124
|
-
<
|
127
|
+
<h3 id="label-Using+a+URL">Using a URL</h3>
|
125
128
|
|
126
129
|
<pre class="code ruby"><code class="ruby">server: amqp:port//user_name:password@host/vhost</code></pre>
|
127
130
|
|
128
|
-
<
|
131
|
+
<h3 id="label-Using+Separate+Parameters-3A">Using Separate Parameters:</h3>
|
129
132
|
|
130
133
|
<pre class="code ruby"><code class="ruby">server:
|
131
134
|
host: hostname
|
@@ -150,32 +153,129 @@ exchange in order to prevent loss of messages due to failures.</p>
|
|
150
153
|
<p>Isimud uses <a href="http://rubybunny.info">Bunny</a> to connect to
|
151
154
|
RabbitMQ.</p>
|
152
155
|
|
153
|
-
<
|
156
|
+
<h2 id="label-Message+Publication">Message Publication</h2>
|
157
|
+
|
158
|
+
<p>Isimud publish messages to topic based exchanges. Each message is tagged
|
159
|
+
with a routing key, allowing for multiple audiences to selectively receive
|
160
|
+
messages.</p>
|
161
|
+
|
162
|
+
<h2 id="label-Message+Queues-2C+Bindings-2C+and+Consumption">Message Queues, Bindings, and Consumption</h2>
|
163
|
+
|
164
|
+
<p>Isimud uses named, non-exclusive, durable queues to consume messages, with
|
165
|
+
a configurable pre-fetch amount.</p>
|
166
|
+
|
167
|
+
<p>There are two ways that message queues may be declared:</p>
|
168
|
+
<ol><li>
|
169
|
+
<p>Using EventObserver instances. The EventObserver module allows an
|
170
|
+
implementing class to define queues and bindings for each instance.</p>
|
171
|
+
</li><li>
|
172
|
+
<p>The EventListener automatically establishes and manages queues for
|
173
|
+
instances of each implementing class.</p>
|
174
|
+
</li><li>
|
175
|
+
<p>Each EventListener process maintains its own exclusive queue to
|
176
|
+
automatically add or cancel consumers for EventObserver instances as they
|
177
|
+
added, modified, or deleted.</p>
|
178
|
+
</li><li>
|
179
|
+
<p>Custom standalone queues. You may extend EventListener to declare
|
180
|
+
individual queues not associated with a specific object instance.</p>
|
181
|
+
</li></ol>
|
182
|
+
|
183
|
+
<p>The EventListener process will automatically create queues on initial
|
184
|
+
startup if they do not already exist. This allows for cold startup on a new
|
185
|
+
AMQP broker.</p>
|
186
|
+
|
187
|
+
<h3 id="label-Message+Delivery+Information+and+Metadata">Message Delivery Information and Metadata</h3>
|
188
|
+
|
189
|
+
<p>Each time that a message is retrieved from the queue, the following
|
190
|
+
properties are set in the current thread:</p>
|
191
|
+
|
192
|
+
<p>| name | contents | | —- | ——– | | isimud_queue_name | Name of the queue
|
193
|
+
processing the thread | | isimud_delivery_info | Message delivery
|
194
|
+
information (<em>Bunny::DeliveryInfo</em>) | | isimud_properties | Message
|
195
|
+
properties metadata (<em>Bunny::MessageProperties</em>) |</p>
|
196
|
+
|
197
|
+
<h3 id="label-Exception+Handling">Exception Handling</h3>
|
198
|
+
|
199
|
+
<p>If an uncaught instance of StandardError is raised during message
|
200
|
+
processing, all exception handlers added to the client are run in the order
|
201
|
+
they were declared (see Client#on_exception). Any exceptions raised by the
|
202
|
+
exception handlers themselves are silently ignored.</p>
|
203
|
+
|
204
|
+
<p>You can configure the disposition of the message that triggered the
|
205
|
+
exception using the configuration attribute Isimud.retry_failures as
|
206
|
+
follows:</p>
|
207
|
+
|
208
|
+
<p>| Isimud.retry_failures | Behavior | | :——————-: | ——– | | <em>false</em> |
|
209
|
+
Never requeue messages (default) | | <em>true</em> | Always requeue
|
210
|
+
messages | | <em>nil</em> | Conditionally re-queue messages based on
|
211
|
+
exception handler return values |</p>
|
212
|
+
|
213
|
+
<p>When conditional re-queueing is enabled, requeue is determined based on the
|
214
|
+
return value of all exception handlers, logically AND-ed. If the result is
|
215
|
+
truthy, the message is re-queued. If the return value of any handler is
|
216
|
+
falsey, the message is not re-queued.</p>
|
217
|
+
|
218
|
+
<h1 id="label-Changes">Changes</h1>
|
219
|
+
|
220
|
+
<h2 id="label-1.4.0">1.4.0</h2>
|
221
|
+
<ul><li>
|
222
|
+
<p>Enable conditional re-queuing of messages after an exception is raised (see
|
223
|
+
<em>Exception Handling</em> above).</p>
|
224
|
+
</li><li>
|
225
|
+
<p>Log messages for receipt and ack of messages downgraded to debug level.</p>
|
226
|
+
</li><li>
|
227
|
+
<p>Force manual_ack mode for all queue subscriptions.</p>
|
228
|
+
</li></ul>
|
229
|
+
|
230
|
+
<h2 id="label-1.3.8">1.3.8</h2>
|
231
|
+
<ul><li>
|
232
|
+
<p>In EventListener event thread, rescue all exceptions, not just Bunny ones.</p>
|
233
|
+
</li></ul>
|
154
234
|
|
155
|
-
<
|
156
|
-
|
235
|
+
<h2 id="label-1.3.7">1.3.7</h2>
|
236
|
+
<ul><li>
|
237
|
+
<p>Change instance var 'status' inside the start event thread</p>
|
238
|
+
</li></ul>
|
157
239
|
|
158
|
-
<
|
240
|
+
<h2 id="label-1.3.6">1.3.6</h2>
|
241
|
+
<ul><li>
|
242
|
+
<p>Don't include ModelWatcher attributes in event publish log message</p>
|
243
|
+
</li><li>
|
244
|
+
<p>Include routing key in ModelWatcher event publish log message</p>
|
245
|
+
</li></ul>
|
159
246
|
|
160
|
-
<
|
161
|
-
|
247
|
+
<h2 id="label-1.3.5">1.3.5</h2>
|
248
|
+
<ul><li>
|
249
|
+
<p>Added option to EventObserver#observe_events to recreate bindings for
|
250
|
+
observer queues</p>
|
251
|
+
</li><li>
|
252
|
+
<p>EventListener only create bindings and queues for EventObserver instances
|
253
|
+
on initial startup</p>
|
254
|
+
</li></ul>
|
162
255
|
|
163
|
-
<h2 id="label-
|
256
|
+
<h2 id="label-1.3.4">1.3.4</h2>
|
257
|
+
<ul><li>
|
258
|
+
<p>Always recreate bindings for observer queues when EventListener starts the
|
259
|
+
event thread.</p>
|
260
|
+
</li><li>
|
261
|
+
<p>Cleaned up method signature on EventObserver#delete_queue so that a client
|
262
|
+
may be passed to it.</p>
|
263
|
+
</li></ul>
|
164
264
|
|
165
|
-
<
|
265
|
+
<h2 id="label-1.3.3">1.3.3</h2>
|
166
266
|
<ul><li>
|
167
267
|
<p>Fixed handling of exceptions in TestClient</p>
|
168
268
|
</li><li>
|
169
269
|
<p>Make EventListener#has_observer? public</p>
|
170
270
|
</li></ul>
|
171
271
|
|
172
|
-
<
|
272
|
+
<h2 id="label-1.3.1">1.3.1</h2>
|
173
273
|
<ul><li>
|
174
274
|
<p>Add EventObserver#deactivate_observer to trigger queue deletion for an
|
175
275
|
observer instance.</p>
|
176
276
|
</li></ul>
|
177
277
|
|
178
|
-
<
|
278
|
+
<h2 id="label-1.3.0">1.3.0</h2>
|
179
279
|
<ul><li>
|
180
280
|
<p>Added a new method, EventListener#bind_event_queues() for registering
|
181
281
|
custom event handlers. Override this method instead of bind_queues() to
|
@@ -187,12 +287,12 @@ collisions caused by processes on different hosts sharing the same PID.</p>
|
|
187
287
|
<p>Added lots of documentation.</p>
|
188
288
|
</li></ul>
|
189
289
|
|
190
|
-
<
|
290
|
+
<h2 id="label-1.2.1">1.2.1</h2>
|
191
291
|
<ul><li>
|
192
292
|
<p>Include attributes in ModelWatcher destroy message</p>
|
193
293
|
</li></ul>
|
194
294
|
|
195
|
-
<
|
295
|
+
<h2 id="label-1.2.0">1.2.0</h2>
|
196
296
|
<ul><li>
|
197
297
|
<p>EventObserver#update_queue now always binds current routing keys. This
|
198
298
|
ensures that when an enable_listener? changes state from false to true
|
@@ -205,19 +305,19 @@ an observer instance on demand.</p>
|
|
205
305
|
for subclasses.</p>
|
206
306
|
</li></ul>
|
207
307
|
|
208
|
-
<
|
308
|
+
<h2 id="label-1.1.0">1.1.0</h2>
|
209
309
|
<ul><li>
|
210
310
|
<p>Clients now support multiple exception handlers. Each call to
|
211
311
|
Client#on_exception will add a new block to the exception handlers list</p>
|
212
312
|
</li></ul>
|
213
313
|
|
214
|
-
<
|
314
|
+
<h2 id="label-1.0.2">1.0.2</h2>
|
215
315
|
|
216
|
-
<
|
316
|
+
<h3 id="label-Breaking+Changes-3A">Breaking Changes:</h3>
|
217
317
|
<ul><li>
|
218
318
|
<p>EventObserver instances are now required to have the persistent attribute
|
219
|
-
|
220
|
-
routing keys assoicated with an instance. The queue associated with an
|
319
|
+
<em>exchange_routing_keys</em>. These are used to store the current value
|
320
|
+
of routing keys assoicated with an instance. The queue associated with an
|
221
321
|
EventObserver is now created and updated at the same time the
|
222
322
|
EventObserver is updated, rather than relying on the EventListener to
|
223
323
|
create it.</p>
|
@@ -235,17 +335,14 @@ subscribe to messages.</p>
|
|
235
335
|
<p>Removed Client#rebind.</p>
|
236
336
|
</li></ul>
|
237
337
|
|
238
|
-
<
|
338
|
+
<h3 id="label-Other+Changes-3A">Other Changes:</h3>
|
239
339
|
<ul><li>
|
240
340
|
<p>TestClient::Queue now responds to bind() and unbind() in the same manner as
|
241
341
|
Bunny::Queue.</p>
|
242
342
|
</li><li>
|
243
343
|
<p>BunnyClient#create_queue now may be called without a block to instantiate
|
244
344
|
an AMQP queue without subscribing to messages</p>
|
245
|
-
</li
|
246
|
-
|
247
|
-
<h3 id="label-0.6.0+-28broken-29">0.6.0 (broken)</h3>
|
248
|
-
<ul><li>
|
345
|
+
</li><li>
|
249
346
|
<p>Added Client#rebind to change the exchange and routing keys for a durable
|
250
347
|
named queue.</p>
|
251
348
|
</li><li>
|
@@ -255,19 +352,19 @@ named queue.</p>
|
|
255
352
|
modified EventObserver instances.</p>
|
256
353
|
</li></ul>
|
257
354
|
|
258
|
-
<
|
355
|
+
<h2 id="label-0.5.2">0.5.2</h2>
|
259
356
|
<ul><li>
|
260
357
|
<p>Fixed regexp bug in TestClient affecting message delivery</p>
|
261
358
|
</li><li>
|
262
359
|
<p>Add more logging for EventObserver binding</p>
|
263
360
|
</li></ul>
|
264
361
|
|
265
|
-
<
|
362
|
+
<h2 id="label-0.5.1">0.5.1</h2>
|
266
363
|
<ul><li>
|
267
364
|
<p>Added Event#attributes</p>
|
268
365
|
</li></ul>
|
269
366
|
|
270
|
-
<
|
367
|
+
<h2 id="label-0.5.0">0.5.0</h2>
|
271
368
|
<ul><li>
|
272
369
|
<p>Allow EventObserver classes to override the exchange for listening to
|
273
370
|
events</p>
|
@@ -283,7 +380,7 @@ events appropriately when default columns are watched</p>
|
|
283
380
|
<p>Moved requires for Isimud below config attribute declarations</p>
|
284
381
|
</li></ul>
|
285
382
|
|
286
|
-
<
|
383
|
+
<h2 id="label-0.4.10">0.4.10</h2>
|
287
384
|
<ul><li>
|
288
385
|
<p>Corrected trap of INT and TERM signals</p>
|
289
386
|
</li><li>
|
@@ -292,12 +389,12 @@ events appropriately when default columns are watched</p>
|
|
292
389
|
<p>Corrected race condition for registering EventObserver classes</p>
|
293
390
|
</li></ul>
|
294
391
|
|
295
|
-
<
|
392
|
+
<h2 id="label-0.4.5">0.4.5</h2>
|
296
393
|
<ul><li>
|
297
394
|
<p>Fixed issues with exception handling</p>
|
298
395
|
</li></ul>
|
299
396
|
|
300
|
-
<
|
397
|
+
<h2 id="label-0.4.1">0.4.1</h2>
|
301
398
|
<ul><li>
|
302
399
|
<p>Event now accepts an exchange option for publishing</p>
|
303
400
|
</li><li>
|
@@ -306,7 +403,7 @@ events appropriately when default columns are watched</p>
|
|
306
403
|
<p>Cleaned up initializer template</p>
|
307
404
|
</li></ul>
|
308
405
|
|
309
|
-
<
|
406
|
+
<h2 id="label-0.4.0">0.4.0</h2>
|
310
407
|
<ul><li>
|
311
408
|
<p>Event logging of published message now set to debug level</p>
|
312
409
|
</li><li>
|
@@ -321,61 +418,61 @@ EventListener to intercept exceptions raised during message handling by an
|
|
321
418
|
observer.</p>
|
322
419
|
</li></ul>
|
323
420
|
|
324
|
-
<
|
421
|
+
<h2 id="label-0.3.7">0.3.7</h2>
|
325
422
|
<ul><li>
|
326
423
|
<p>Added EventObserver mix-in</p>
|
327
424
|
</li><li>
|
328
425
|
<p>Added accessors for queues and routing_keys to TestClient</p>
|
329
426
|
</li></ul>
|
330
427
|
|
331
|
-
<
|
428
|
+
<h2 id="label-0.3.6">0.3.6</h2>
|
332
429
|
<ul><li>
|
333
430
|
<p>Reraise all exceptions in message processing block in BunnyClient#bind.</p>
|
334
431
|
</li></ul>
|
335
432
|
|
336
|
-
<
|
433
|
+
<h2 id="label-0.3.5">0.3.5</h2>
|
337
434
|
<ul><li>
|
338
435
|
<p>Fixed deprecation on setting manual ack on Bunny queue subscriptions.</p>
|
339
436
|
</li></ul>
|
340
437
|
|
341
|
-
<
|
438
|
+
<h2 id="label-0.3.4">0.3.4</h2>
|
342
439
|
<ul><li>
|
343
440
|
<p>Catch Timeout::Error in ModelWatcher.synchronize</p>
|
344
441
|
</li></ul>
|
345
442
|
|
346
|
-
<
|
443
|
+
<h2 id="label-0.3.1">0.3.1</h2>
|
347
444
|
<ul><li>
|
348
445
|
<p>Tuning gargabe collector on ModelWatcher.synchronize</p>
|
349
446
|
</li></ul>
|
350
447
|
|
351
|
-
<
|
448
|
+
<h2 id="label-0.3.0">0.3.0</h2>
|
352
449
|
<ul><li>
|
353
450
|
<p>Added rake task for manual synchronization using ModelWatcher</p>
|
354
451
|
</li></ul>
|
355
452
|
|
356
|
-
<
|
453
|
+
<h2 id="label-0.2.17">0.2.17</h2>
|
357
454
|
<ul><li>
|
358
455
|
<p>Added guard on null #updated_at instances</p>
|
359
456
|
</li><li>
|
360
457
|
<p>Added ModelWatcher#isimud_sync for manual synchronization</p>
|
361
458
|
</li></ul>
|
362
459
|
|
363
|
-
<
|
460
|
+
<h2 id="label-0.2.15">0.2.15</h2>
|
364
461
|
<ul><li>
|
365
462
|
<p>Changed Event#send to Event#publish, to avoid overloading Ruby.</p>
|
366
463
|
</li></ul>
|
367
464
|
|
368
|
-
<
|
465
|
+
<h2 id="label-0.2.13">0.2.13</h2>
|
369
466
|
<ul><li>
|
370
467
|
<p>Add :omit_parameters option to Event#as_json</p>
|
371
468
|
</li></ul>
|
372
469
|
|
373
|
-
<
|
470
|
+
<h2 id="label-0.2.12">0.2.12</h2>
|
374
471
|
<ul><li>
|
375
472
|
<p>Demodulize ActiveRecord model name when setting ModelWatcher event type</p>
|
376
473
|
</li></ul>
|
377
474
|
|
378
|
-
<
|
475
|
+
<h2 id="label-0.2.10">0.2.10</h2>
|
379
476
|
<ul><li>
|
380
477
|
<p>Added Isimud.retry_failures</p>
|
381
478
|
</li><li>
|
@@ -388,30 +485,30 @@ default</p>
|
|
388
485
|
called</p>
|
389
486
|
</li></ul>
|
390
487
|
|
391
|
-
<
|
488
|
+
<h2 id="label-0.2.4">0.2.4</h2>
|
392
489
|
<ul><li>
|
393
490
|
<p>Add Isimud::ModelWatcher#isimud_synchronize? to allow conditional
|
394
491
|
synchronization. Override to activate.</p>
|
395
492
|
</li></ul>
|
396
493
|
|
397
|
-
<
|
494
|
+
<h2 id="label-0.2.2">0.2.2</h2>
|
398
495
|
<ul><li>
|
399
496
|
<p>Add enable_model_watcher configuration parameter (default is true)</p>
|
400
497
|
</li></ul>
|
401
498
|
|
402
|
-
<
|
499
|
+
<h2 id="label-0.2.0">0.2.0</h2>
|
403
500
|
<ul><li>
|
404
501
|
<p>Added Isimud::Event</p>
|
405
502
|
</li><li>
|
406
503
|
<p>Extracted Isimud::Client#log into Isimud::Logging module</p>
|
407
504
|
</li></ul>
|
408
505
|
|
409
|
-
<
|
506
|
+
<h2 id="label-0.1.4">0.1.4</h2>
|
410
507
|
<ul><li>
|
411
508
|
<p>Don't reject messages when exception is raised in bind block</p>
|
412
509
|
</li></ul>
|
413
510
|
|
414
|
-
<
|
511
|
+
<h2 id="label-0.1.3">0.1.3</h2>
|
415
512
|
<ul><li>
|
416
513
|
<p>Upgrade bunny gem requirement to 1.3.x</p>
|
417
514
|
</li><li>
|
@@ -420,28 +517,23 @@ synchronization. Override to activate.</p>
|
|
420
517
|
<p>Added log_level configuration parameter (default is :debug)</p>
|
421
518
|
</li></ul>
|
422
519
|
|
423
|
-
<
|
520
|
+
<h2 id="label-0.1.2">0.1.2</h2>
|
424
521
|
<ul><li>
|
425
522
|
<p>Reject message with requeue when an exception is raised during processing</p>
|
426
523
|
</li></ul>
|
427
524
|
|
428
|
-
<
|
525
|
+
<h2 id="label-0.1.1">0.1.1</h2>
|
429
526
|
<ul><li>
|
430
527
|
<p>Enable channel confirmations for message publication</p>
|
431
528
|
</li></ul>
|
432
529
|
|
433
|
-
<
|
530
|
+
<h2 id="label-0.1.0">0.1.0</h2>
|
434
531
|
<ul><li>
|
435
532
|
<p>ModelWatcher mix-in for ActiveRecord, sends events on instance changes</p>
|
436
533
|
</li><li>
|
437
534
|
<p>Initializer generator for Rails</p>
|
438
535
|
</li></ul>
|
439
536
|
|
440
|
-
<h3 id="label-0.0.8+-28first+working+version-29">0.0.8 (first working version)</h3>
|
441
|
-
<ul><li>
|
442
|
-
<p>Don't clear the queues when reconnecting TestClient</p>
|
443
|
-
</li></ul>
|
444
|
-
|
445
537
|
<h2 id="label-Contributing">Contributing</h2>
|
446
538
|
<ol><li>
|
447
539
|
<p>Fork it ( <a
|
@@ -460,9 +552,9 @@ feature'</code>)</p>
|
|
460
552
|
</div></div>
|
461
553
|
|
462
554
|
<div id="footer">
|
463
|
-
Generated on
|
555
|
+
Generated on Wed Aug 24 18:59:45 2016 by
|
464
556
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
465
|
-
0.8.7.6 (ruby-2.
|
557
|
+
0.8.7.6 (ruby-2.3.0).
|
466
558
|
</div>
|
467
559
|
|
468
560
|
</body>
|