isimud 0.7.0 → 1.3.1
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 +4 -4
- data/.gitignore +1 -0
- data/.rspec +1 -2
- data/.ruby-version +1 -1
- data/.yardoc/checksums +10 -10
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/Gemfile +2 -1
- data/Gemfile.lock +63 -73
- data/LICENSE.txt +19 -0
- data/README.md +51 -3
- data/Rakefile +5 -0
- data/doc/Isimud/BunnyClient.html +882 -179
- data/doc/Isimud/Client.html +236 -18
- data/doc/Isimud/Event.html +211 -95
- data/doc/Isimud/EventListener.html +325 -307
- data/doc/Isimud/EventObserver/ClassMethods.html +14 -14
- data/doc/Isimud/EventObserver.html +418 -36
- data/doc/Isimud/Generators/ConfigGenerator.html +2 -2
- data/doc/Isimud/Generators/InitializerGenerator.html +2 -2
- data/doc/Isimud/Generators.html +2 -2
- data/doc/Isimud/Logging.html +3 -3
- data/doc/Isimud/ModelWatcher/ClassMethods.html +3 -3
- data/doc/Isimud/ModelWatcher.html +2 -2
- data/doc/Isimud/Railtie.html +2 -2
- data/doc/Isimud/TestClient/Queue.html +374 -71
- data/doc/Isimud/TestClient.html +169 -161
- data/doc/Isimud.html +80 -76
- data/doc/_index.html +5 -2
- data/doc/file.LICENSE.html +73 -0
- data/doc/file.README.html +131 -7
- data/doc/file_list.html +3 -0
- data/doc/index.html +131 -7
- data/doc/method_list.html +183 -105
- data/doc/top-level-namespace.html +2 -2
- data/isimud.gemspec +18 -16
- data/lib/isimud/bunny_client.rb +85 -32
- data/lib/isimud/client.rb +23 -7
- data/lib/isimud/event.rb +11 -14
- data/lib/isimud/event_listener.rb +123 -65
- data/lib/isimud/event_observer.rb +70 -10
- data/lib/isimud/model_watcher.rb +1 -1
- data/lib/isimud/test_client.rb +54 -26
- data/lib/isimud/version.rb +1 -1
- data/lib/isimud.rb +1 -1
- data/spec/internal/app/models/company.rb +8 -10
- data/spec/internal/app/models/user.rb +11 -1
- data/spec/internal/db/schema.rb +5 -0
- data/spec/isimud/bunny_client_spec.rb +21 -9
- data/spec/isimud/client_spec.rb +40 -0
- data/spec/isimud/event_listener_spec.rb +50 -22
- data/spec/isimud/event_observer_spec.rb +107 -16
- data/spec/isimud/model_watcher_spec.rb +18 -23
- data/spec/isimud/test_client_spec.rb +43 -8
- data/spec/isimud_spec.rb +2 -2
- data/spec/spec_helper.rb +2 -0
- metadata +19 -35
- checksums.yaml.gz.sig +0 -0
- data/certs/gfeil.pem +0 -21
- data/release +0 -31
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -2
data/doc/index.html
CHANGED
@@ -62,7 +62,7 @@
|
|
62
62
|
<iframe id="search_frame"></iframe>
|
63
63
|
|
64
64
|
<div id="content"><div id='filecontents'>
|
65
|
-
<h1 id="label-Isimud-3A+AMQP+based+Messaging+
|
65
|
+
<h1 id="label-Isimud-3A+AMQP+based+Messaging+and+Event+Processing+Abstraction+Component.">Isimud: AMQP based Messaging and Event Processing Abstraction Component.</h1>
|
66
66
|
|
67
67
|
<blockquote>
|
68
68
|
<p>Isimud is a minor god, the messenger of the god Enki in Sumerian mythology.
|
@@ -87,7 +87,8 @@ whenever an ActiveRecord instance is created, modified, or destroyed.</p>
|
|
87
87
|
<p>An Event Observer mixin for registering ActiveRecord models and instances
|
88
88
|
with the EventListener for receiving messages.</p>
|
89
89
|
</li><li>
|
90
|
-
<p>An Event Listener daemon process which manages queues
|
90
|
+
<p>An Event Listener daemon process which manages queues and dispatches
|
91
|
+
messages for Event Observers.</p>
|
91
92
|
</li></ul>
|
92
93
|
|
93
94
|
<h2 id="label-Installation">Installation</h2>
|
@@ -161,9 +162,132 @@ messages. Named queues are automatically created if they do not exist.</p>
|
|
161
162
|
|
162
163
|
<h2 id="label-Changes">Changes</h2>
|
163
164
|
|
164
|
-
<h3 id="label-
|
165
|
+
<h3 id="label-1.3.1">1.3.1</h3>
|
165
166
|
<ul><li>
|
166
|
-
<p>
|
167
|
+
<p>Add EventObserver#deactivate_observer to trigger queue deletion for an
|
168
|
+
observer instance.</p>
|
169
|
+
</li></ul>
|
170
|
+
|
171
|
+
<h3 id="label-1.3.0">1.3.0</h3>
|
172
|
+
<ul><li>
|
173
|
+
<p>Added a new method, EventListener#bind_event_queues() for registering
|
174
|
+
custom event handlers. Override this method instead of bind_queues() to
|
175
|
+
bind custom queues not handled by EventObserver instances.</p>
|
176
|
+
</li><li>
|
177
|
+
<p>Add local host name to the EventListener observer queue to avoid possible
|
178
|
+
collisions caused by processes on different hosts sharing the same PID.</p>
|
179
|
+
</li><li>
|
180
|
+
<p>Added lots of documentation.</p>
|
181
|
+
</li></ul>
|
182
|
+
|
183
|
+
<h3 id="label-1.2.1">1.2.1</h3>
|
184
|
+
<ul><li>
|
185
|
+
<p>Include attributes in ModelWatcher destroy message</p>
|
186
|
+
</li></ul>
|
187
|
+
|
188
|
+
<h3 id="label-1.2.0">1.2.0</h3>
|
189
|
+
<ul><li>
|
190
|
+
<p>EventObserver#update_queue now always binds current routing keys. This
|
191
|
+
ensures that when an enable_listener? changes state from false to true
|
192
|
+
during an update, all bindings for the queue are established.</p>
|
193
|
+
</li><li>
|
194
|
+
<p>Add EventObserver#activate_observer(), which creates and binds a queue for
|
195
|
+
an observer instance on demand.</p>
|
196
|
+
</li><li>
|
197
|
+
<p>Add declaration for Client#find_queue, and normalize the method signature
|
198
|
+
for subclasses.</p>
|
199
|
+
</li></ul>
|
200
|
+
|
201
|
+
<h3 id="label-1.1.0">1.1.0</h3>
|
202
|
+
<ul><li>
|
203
|
+
<p>Clients now support multiple exception handlers. Each call to
|
204
|
+
Client#on_exception will add a new block to the exception handlers list</p>
|
205
|
+
</li></ul>
|
206
|
+
|
207
|
+
<h3 id="label-1.0.2">1.0.2</h3>
|
208
|
+
|
209
|
+
<h4 id="label-Breaking+Changes-3A">Breaking Changes:</h4>
|
210
|
+
<ul><li>
|
211
|
+
<p>EventObserver instances are now required to have the persistent attribute
|
212
|
+
/exchange_routing_keys/. These are used to store the current value of
|
213
|
+
routing keys assoicated with an instance. The queue associated with an
|
214
|
+
EventObserver is now created and updated at the same time the
|
215
|
+
EventObserver is updated, rather than relying on the EventListener to
|
216
|
+
create it.</p>
|
217
|
+
</li><li>
|
218
|
+
<p>EventObserver#observe_events now has only one parameter, the Isimud::Client
|
219
|
+
instance. No queue bindings are done within this method.</p>
|
220
|
+
</li><li>
|
221
|
+
<p>Client#bind has been refactored in order to separate concerns. A new
|
222
|
+
method, #subscribe, is now used for subscribing to messages by linking a
|
223
|
+
Proc.</p>
|
224
|
+
</li><li>
|
225
|
+
<p>Client#create_queue no longer accepts a block parameter and does not
|
226
|
+
subscribe to messages.</p>
|
227
|
+
</li><li>
|
228
|
+
<p>Removed Client#rebind.</p>
|
229
|
+
</li></ul>
|
230
|
+
|
231
|
+
<h4 id="label-Other+Changes-3A">Other Changes:</h4>
|
232
|
+
<ul><li>
|
233
|
+
<p>TestClient::Queue now responds to bind() and unbind() in the same manner as
|
234
|
+
Bunny::Queue.</p>
|
235
|
+
</li><li>
|
236
|
+
<p>BunnyClient#create_queue now may be called without a block to instantiate
|
237
|
+
an AMQP queue without subscribing to messages</p>
|
238
|
+
</li></ul>
|
239
|
+
|
240
|
+
<h3 id="label-0.6.0+-28broken-29">0.6.0 (broken)</h3>
|
241
|
+
<ul><li>
|
242
|
+
<p>Added Client#rebind to change the exchange and routing keys for a durable
|
243
|
+
named queue.</p>
|
244
|
+
</li><li>
|
245
|
+
<p>Changed BunnyClient#delete_queue to make it more reliable.</p>
|
246
|
+
</li><li>
|
247
|
+
<p>EventListener now uses a shared, durable queue for monitoring events on
|
248
|
+
modified EventObserver instances.</p>
|
249
|
+
</li></ul>
|
250
|
+
|
251
|
+
<h3 id="label-0.5.2">0.5.2</h3>
|
252
|
+
<ul><li>
|
253
|
+
<p>Fixed regexp bug in TestClient affecting message delivery</p>
|
254
|
+
</li><li>
|
255
|
+
<p>Add more logging for EventObserver binding</p>
|
256
|
+
</li></ul>
|
257
|
+
|
258
|
+
<h3 id="label-0.5.1">0.5.1</h3>
|
259
|
+
<ul><li>
|
260
|
+
<p>Added Event#attributes</p>
|
261
|
+
</li></ul>
|
262
|
+
|
263
|
+
<h3 id="label-0.5.0">0.5.0</h3>
|
264
|
+
<ul><li>
|
265
|
+
<p>Allow EventObserver classes to override the exchange for listening to
|
266
|
+
events</p>
|
267
|
+
</li><li>
|
268
|
+
<p>Corrected initialization of EventListener for handling defaults</p>
|
269
|
+
</li><li>
|
270
|
+
<p>Create an explicit name for EventListener model queues for EventObserver
|
271
|
+
instances</p>
|
272
|
+
</li><li>
|
273
|
+
<p>Fixed a bug in EventObserver that caused ModelWatcher to not send update
|
274
|
+
events appropriately when default columns are watched</p>
|
275
|
+
</li><li>
|
276
|
+
<p>Moved requires for Isimud below config attribute declarations</p>
|
277
|
+
</li></ul>
|
278
|
+
|
279
|
+
<h3 id="label-0.4.10">0.4.10</h3>
|
280
|
+
<ul><li>
|
281
|
+
<p>Corrected trap of INT and TERM signals</p>
|
282
|
+
</li><li>
|
283
|
+
<p>Added error counter mutex and cleaned up logging</p>
|
284
|
+
</li><li>
|
285
|
+
<p>Corrected race condition for registering EventObserver classes</p>
|
286
|
+
</li></ul>
|
287
|
+
|
288
|
+
<h3 id="label-0.4.5">0.4.5</h3>
|
289
|
+
<ul><li>
|
290
|
+
<p>Fixed issues with exception handling</p>
|
167
291
|
</li></ul>
|
168
292
|
|
169
293
|
<h3 id="label-0.4.1">0.4.1</h3>
|
@@ -314,7 +438,7 @@ synchronization. Override to activate.</p>
|
|
314
438
|
<h2 id="label-Contributing">Contributing</h2>
|
315
439
|
<ol><li>
|
316
440
|
<p>Fork it ( <a
|
317
|
-
href="https://github.com/
|
441
|
+
href="https://github.com/KeasInc/isimud/fork">github.com/KeasInc/isimud/fork</a>
|
318
442
|
)</p>
|
319
443
|
</li><li>
|
320
444
|
<p>Create your feature branch (<code>git checkout -b my-new-feature</code>)</p>
|
@@ -329,9 +453,9 @@ feature'</code>)</p>
|
|
329
453
|
</div></div>
|
330
454
|
|
331
455
|
<div id="footer">
|
332
|
-
Generated on
|
456
|
+
Generated on Wed Jan 13 16:27:28 2016 by
|
333
457
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
334
|
-
0.8.7.6 (ruby-2.2.
|
458
|
+
0.8.7.6 (ruby-2.2.3).
|
335
459
|
</div>
|
336
460
|
|
337
461
|
</body>
|