marilyn-rpc 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.
Files changed (44) hide show
  1. data/LICENCE +18 -0
  2. data/README.md +170 -0
  3. data/doc/MarilynRPC/CallRequestMail.html +578 -0
  4. data/doc/MarilynRPC/CallResponseMail.html +418 -0
  5. data/doc/MarilynRPC/Envelope.html +705 -0
  6. data/doc/MarilynRPC/ExceptionMail.html +338 -0
  7. data/doc/MarilynRPC/Gentleman.html +658 -0
  8. data/doc/MarilynRPC/MailFactory.html +284 -0
  9. data/doc/MarilynRPC/MailHelper.html +489 -0
  10. data/doc/MarilynRPC/NativeClient.html +579 -0
  11. data/doc/MarilynRPC/NativeClientProxy.html +303 -0
  12. data/doc/MarilynRPC/Server.html +406 -0
  13. data/doc/MarilynRPC/Service.html +599 -0
  14. data/doc/MarilynRPC/ServiceCache.html +481 -0
  15. data/doc/MarilynRPC.html +108 -0
  16. data/doc/_index.html +219 -0
  17. data/doc/class_list.html +36 -0
  18. data/doc/css/common.css +1 -0
  19. data/doc/css/full_list.css +53 -0
  20. data/doc/css/style.css +318 -0
  21. data/doc/file.README.html +154 -0
  22. data/doc/file_list.html +38 -0
  23. data/doc/frames.html +13 -0
  24. data/doc/index.html +154 -0
  25. data/doc/js/app.js +203 -0
  26. data/doc/js/full_list.js +149 -0
  27. data/doc/js/jquery.js +16 -0
  28. data/doc/method_list.html +467 -0
  29. data/doc/top-level-namespace.html +88 -0
  30. data/examples/async/client.rb +40 -0
  31. data/examples/async/server.rb +26 -0
  32. data/examples/callbacks/client.rb +8 -0
  33. data/examples/callbacks/server.rb +26 -0
  34. data/examples/secure/client.rb +9 -0
  35. data/examples/secure/server.rb +22 -0
  36. data/kiss.png +0 -0
  37. data/lib/marilyn-rpc/client.rb +91 -26
  38. data/lib/marilyn-rpc/gentleman.rb +4 -1
  39. data/lib/marilyn-rpc/mails.rb +1 -1
  40. data/lib/marilyn-rpc/server.rb +27 -3
  41. data/lib/marilyn-rpc/service.rb +64 -0
  42. data/lib/marilyn-rpc/service_cache.rb +13 -2
  43. data/lib/marilyn-rpc/version.rb +1 -1
  44. metadata +39 -3
@@ -0,0 +1,599 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Class: MarilynRPC::Service</title>
7
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '..';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="../_index.html">Index (S)</a> &raquo;
27
+ <span class='title'><span class='object_link'><a href="../MarilynRPC.html" title="MarilynRPC (module)">MarilynRPC</a></span></span>
28
+ &raquo;
29
+ <span class="title">Service</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Class: MarilynRPC::Service
47
+
48
+
49
+
50
+ </h1>
51
+
52
+ <dl class="box">
53
+
54
+ <dt class="r1">Inherits:</dt>
55
+ <dd class="r1">
56
+ <span class="inheritName">Object</span>
57
+
58
+ <ul class="fullTree">
59
+ <li>Object</li>
60
+
61
+ <li class="next">MarilynRPC::Service</li>
62
+
63
+ </ul>
64
+ <a href="#" class="inheritanceTree">show all</a>
65
+
66
+ </dd>
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+ <dt class="r2 last">Defined in:</dt>
77
+ <dd class="r2 last">lib/marilyn-rpc/service.rb</dd>
78
+
79
+ </dl>
80
+ <div class="clear"></div>
81
+
82
+ <h2>Overview</h2><div class="docstring">
83
+ <div class="discussion">
84
+ <p>This class represents the base for all events, it is used for registering services and defining callbacks for certain service events.</p>
85
+
86
+ </div>
87
+ </div>
88
+ <div class="tags">
89
+
90
+ <div class="examples">
91
+ <h3>Examples:</h3>
92
+
93
+ <h4><div class='inline'><p>a service that makes use of the available helpers</p></div></h4>
94
+ <pre class="example code"><span class='class class kw'>class</span> <span class='EventsService constant id'>EventsService</span> <span class='lt op'>&lt;</span> <span class='MarilynRPC constant id'>MarilynRPC</span><span class='colon2 op'>::</span><span class='Service constant id'>Service</span>
95
+ <span class='register identifier id'>register</span> <span class='symbol val'>:events</span>
96
+ <span class='after_connect identifier id'>after_connect</span> <span class='symbol val'>:connected</span>
97
+ <span class='after_disconnect identifier id'>after_disconnect</span> <span class='symbol val'>:disconnected</span>
98
+
99
+ <span class='def def kw'>def</span> <span class='connected identifier id'>connected</span>
100
+ <span class='puts identifier id'>puts</span> <span class='string val'>&quot;client connected&quot;</span>
101
+ <span class='end end kw'>end</span>
102
+
103
+ <span class='def def kw'>def</span> <span class='notify identifier id'>notify</span><span class='lparen token'>(</span><span class='msg identifier id'>msg</span><span class='rparen token'>)</span>
104
+ <span class='puts identifier id'>puts</span> <span class='msg identifier id'>msg</span>
105
+ <span class='end end kw'>end</span>
106
+
107
+ <span class='def def kw'>def</span> <span class='disconnected identifier id'>disconnected</span>
108
+ <span class='puts identifier id'>puts</span> <span class='string val'>&quot;client disconnected&quot;</span>
109
+ <span class='end end kw'>end</span>
110
+ <span class='end end kw'>end</span>
111
+ </pre>
112
+
113
+ </div>
114
+
115
+ </div>
116
+
117
+
118
+
119
+ <h2>
120
+ Class Method Summary
121
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
122
+ </h2>
123
+
124
+ <ul class="summary">
125
+
126
+ <li class="public ">
127
+ <span class="summary_signature">
128
+
129
+ <a href="#after_connect-class_method" title="after_connect (class method)">+ (Object) <strong>after_connect</strong>(*callbacks) </a>
130
+
131
+
132
+
133
+ </span>
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+ <span class="summary_desc"><div class='inline'><p>register one or more connect callbacks.</p></div></span>
143
+
144
+ </li>
145
+
146
+
147
+ <li class="public ">
148
+ <span class="summary_signature">
149
+
150
+ <a href="#after_disconnect-class_method" title="after_disconnect (class method)">+ (Object) <strong>after_disconnect</strong>(*callbacks) </a>
151
+
152
+
153
+
154
+ </span>
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+ <span class="summary_desc"><div class='inline'><p>register one or more disconnect callbacks.</p></div></span>
164
+
165
+ </li>
166
+
167
+
168
+ <li class="public ">
169
+ <span class="summary_signature">
170
+
171
+ <a href="#register-class_method" title="register (class method)">+ (Object) <strong>register</strong>(path) </a>
172
+
173
+
174
+
175
+ </span>
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+ <span class="summary_desc"><div class='inline'><p>registers the class where is was called as a service.</p></div></span>
185
+
186
+ </li>
187
+
188
+
189
+ <li class="public ">
190
+ <span class="summary_signature">
191
+
192
+ <a href="#registry-class_method" title="registry (class method)">+ (Hash&lt;String, Object&gt;) <strong>registry</strong> </a>
193
+
194
+
195
+
196
+ </span>
197
+
198
+
199
+
200
+
201
+
202
+ <span class="private note title">Private</span>
203
+
204
+
205
+ <span class="summary_desc"><div class='inline'><p>returns all services, that where registered.</p></div></span>
206
+
207
+ </li>
208
+
209
+
210
+ </ul>
211
+
212
+ <h2>
213
+ Instance Method Summary
214
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
215
+ </h2>
216
+
217
+ <ul class="summary">
218
+
219
+ <li class="public ">
220
+ <span class="summary_signature">
221
+
222
+ <a href="#execute_after_connect_callback%21-instance_method" title="#execute_after_connect_callback! (instance method)">- (Object) <strong>execute_after_connect_callback!</strong> </a>
223
+
224
+
225
+
226
+ </span>
227
+
228
+
229
+
230
+
231
+
232
+ <span class="private note title">Private</span>
233
+
234
+
235
+ <span class="summary_desc"><div class='inline'><p>calls the defined connect callbacks.</p></div></span>
236
+
237
+ </li>
238
+
239
+
240
+ <li class="public ">
241
+ <span class="summary_signature">
242
+
243
+ <a href="#execute_after_disconnect_callback%21-instance_method" title="#execute_after_disconnect_callback! (instance method)">- (Object) <strong>execute_after_disconnect_callback!</strong> </a>
244
+
245
+
246
+
247
+ </span>
248
+
249
+
250
+
251
+
252
+
253
+ <span class="private note title">Private</span>
254
+
255
+
256
+ <span class="summary_desc"><div class='inline'><p>calls the defined diconnect callbacks.</p></div></span>
257
+
258
+ </li>
259
+
260
+
261
+ </ul>
262
+
263
+
264
+
265
+
266
+ <div id="class_method_details" class="method_details_list">
267
+ <h2>Class Method Details</h2>
268
+
269
+
270
+ <div class="method_details first">
271
+ <p class="signature first" id="after_connect-class_method">
272
+
273
+ + (<tt>Object</tt>) <strong>after_connect</strong>(*callbacks)
274
+
275
+
276
+
277
+ </p><div class="docstring">
278
+ <div class="discussion">
279
+ <p>register one or more connect callbacks</p>
280
+
281
+ </div>
282
+ </div>
283
+ <div class="tags">
284
+ <h3>Parameters:</h3>
285
+ <ul class="param">
286
+
287
+ <li>
288
+
289
+ <span class='type'>(<tt>Array&lt;Symbol&gt;</tt>, <tt>Array&lt;String&gt;</tt>)</span>
290
+
291
+
292
+ <span class='name'>callbacks</span>
293
+
294
+
295
+
296
+ </li>
297
+
298
+ </ul>
299
+
300
+ </div><table class="source_code">
301
+ <tr>
302
+ <td>
303
+ <pre class="lines">
304
+
305
+
306
+ 40
307
+ 41
308
+ 42
309
+ 43</pre>
310
+ </td>
311
+ <td>
312
+ <pre class="code"><span class="info file"># File 'lib/marilyn-rpc/service.rb', line 40</span>
313
+
314
+ <span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='after_connect identifier id'>after_connect</span><span class='lparen token'>(</span><span class='mult op'>*</span><span class='callbacks identifier id'>callbacks</span><span class='rparen token'>)</span>
315
+ <span class='@@_after_connect_callbacks ivar id'>@@_after_connect_callbacks</span> <span class='opasgn op'>||=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
316
+ <span class='@@_after_connect_callbacks ivar id'>@@_after_connect_callbacks</span> <span class='opasgn op'>+=</span> <span class='callbacks identifier id'>callbacks</span>
317
+ <span class='end end kw'>end</span>
318
+ </pre>
319
+ </td>
320
+ </tr>
321
+ </table>
322
+ </div>
323
+
324
+ <div class="method_details ">
325
+ <p class="signature " id="after_disconnect-class_method">
326
+
327
+ + (<tt>Object</tt>) <strong>after_disconnect</strong>(*callbacks)
328
+
329
+
330
+
331
+ </p><div class="docstring">
332
+ <div class="discussion">
333
+ <p>register one or more disconnect callbacks</p>
334
+
335
+ </div>
336
+ </div>
337
+ <div class="tags">
338
+ <h3>Parameters:</h3>
339
+ <ul class="param">
340
+
341
+ <li>
342
+
343
+ <span class='type'>(<tt>Array&lt;Symbol&gt;</tt>, <tt>Array&lt;String&gt;</tt>)</span>
344
+
345
+
346
+ <span class='name'>callbacks</span>
347
+
348
+
349
+
350
+ </li>
351
+
352
+ </ul>
353
+
354
+ </div><table class="source_code">
355
+ <tr>
356
+ <td>
357
+ <pre class="lines">
358
+
359
+
360
+ 47
361
+ 48
362
+ 49
363
+ 50</pre>
364
+ </td>
365
+ <td>
366
+ <pre class="code"><span class="info file"># File 'lib/marilyn-rpc/service.rb', line 47</span>
367
+
368
+ <span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='after_disconnect identifier id'>after_disconnect</span><span class='lparen token'>(</span><span class='mult op'>*</span><span class='callbacks identifier id'>callbacks</span><span class='rparen token'>)</span>
369
+ <span class='@@_after_disconnect_callbacks ivar id'>@@_after_disconnect_callbacks</span> <span class='opasgn op'>||=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
370
+ <span class='@@_after_disconnect_callbacks ivar id'>@@_after_disconnect_callbacks</span> <span class='opasgn op'>+=</span> <span class='callbacks identifier id'>callbacks</span>
371
+ <span class='end end kw'>end</span>
372
+ </pre>
373
+ </td>
374
+ </tr>
375
+ </table>
376
+ </div>
377
+
378
+ <div class="method_details ">
379
+ <p class="signature " id="register-class_method">
380
+
381
+ + (<tt>Object</tt>) <strong>register</strong>(path)
382
+
383
+
384
+
385
+ </p><div class="docstring">
386
+ <div class="discussion">
387
+ <p>registers the class where is was called as a service</p>
388
+
389
+ </div>
390
+ </div>
391
+ <div class="tags">
392
+ <h3>Parameters:</h3>
393
+ <ul class="param">
394
+
395
+ <li>
396
+
397
+ <span class='type'>(<tt>String</tt>)</span>
398
+
399
+
400
+ <span class='name'>path</span>
401
+
402
+
403
+
404
+ &mdash;
405
+ <div class='inline'><p>the path of the service</p></div>
406
+
407
+ </li>
408
+
409
+ </ul>
410
+
411
+ </div><table class="source_code">
412
+ <tr>
413
+ <td>
414
+ <pre class="lines">
415
+
416
+
417
+ 25
418
+ 26
419
+ 27
420
+ 28</pre>
421
+ </td>
422
+ <td>
423
+ <pre class="code"><span class="info file"># File 'lib/marilyn-rpc/service.rb', line 25</span>
424
+
425
+ <span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='register identifier id'>register</span><span class='lparen token'>(</span><span class='path identifier id'>path</span><span class='rparen token'>)</span>
426
+ <span class='@@registry ivar id'>@@registry</span> <span class='opasgn op'>||=</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span>
427
+ <span class='@@registry ivar id'>@@registry</span><span class='lbrack token'>[</span><span class='path identifier id'>path</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='self self kw'>self</span>
428
+ <span class='end end kw'>end</span>
429
+ </pre>
430
+ </td>
431
+ </tr>
432
+ </table>
433
+ </div>
434
+
435
+ <div class="method_details ">
436
+ <p class="signature " id="registry-class_method">
437
+
438
+ + (<tt>Hash&lt;String, Object&gt;</tt>) <strong>registry</strong>
439
+
440
+
441
+
442
+ </p><div class="docstring">
443
+ <div class="discussion">
444
+ <p class="note private">
445
+ <strong>This method is part of a private API.</strong>
446
+ You should avoid using this method if possible, as it may be removed or be changed in the future.
447
+ </p>
448
+ <p>returns all services, that where registered</p>
449
+
450
+ </div>
451
+ </div>
452
+ <div class="tags">
453
+ <h3>Returns:</h3>
454
+ <ul class="return">
455
+
456
+ <li>
457
+
458
+ <span class='type'>(<tt>Hash&lt;String, Object&gt;</tt>)</span>
459
+
460
+
461
+
462
+
463
+ &mdash;
464
+ <div class='inline'><p>all registered services with path as key and the registered service as object</p></div>
465
+
466
+ </li>
467
+
468
+ </ul>
469
+
470
+ </div><table class="source_code">
471
+ <tr>
472
+ <td>
473
+ <pre class="lines">
474
+
475
+
476
+ 34
477
+ 35
478
+ 36</pre>
479
+ </td>
480
+ <td>
481
+ <pre class="code"><span class="info file"># File 'lib/marilyn-rpc/service.rb', line 34</span>
482
+
483
+ <span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='registry identifier id'>registry</span>
484
+ <span class='@@registry ivar id'>@@registry</span> <span class='orop op'>||</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span>
485
+ <span class='end end kw'>end</span>
486
+ </pre>
487
+ </td>
488
+ </tr>
489
+ </table>
490
+ </div>
491
+
492
+ </div>
493
+
494
+ <div id="instance_method_details" class="method_details_list">
495
+ <h2>Instance Method Details</h2>
496
+
497
+
498
+ <div class="method_details first">
499
+ <p class="signature first" id="execute_after_connect_callback!-instance_method">
500
+
501
+ - (<tt>Object</tt>) <strong>execute_after_connect_callback!</strong>
502
+
503
+
504
+
505
+ </p><div class="docstring">
506
+ <div class="discussion">
507
+ <p class="note private">
508
+ <strong>This method is part of a private API.</strong>
509
+ You should avoid using this method if possible, as it may be removed or be changed in the future.
510
+ </p>
511
+ <p>calls the defined connect callbacks</p>
512
+
513
+ </div>
514
+ </div>
515
+ <div class="tags">
516
+
517
+ </div><table class="source_code">
518
+ <tr>
519
+ <td>
520
+ <pre class="lines">
521
+
522
+
523
+ 54
524
+ 55
525
+ 56
526
+ 57
527
+ 58</pre>
528
+ </td>
529
+ <td>
530
+ <pre class="code"><span class="info file"># File 'lib/marilyn-rpc/service.rb', line 54</span>
531
+
532
+ <span class='def def kw'>def</span> <span class='execute_after_connect_callback! fid id'>execute_after_connect_callback!</span>
533
+ <span class='lparen token'>(</span><span class='@@_after_connect_callbacks ivar id'>@@_after_connect_callbacks</span> <span class='orop op'>||</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='callback identifier id'>callback</span><span class='bitor op'>|</span>
534
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='send identifier id'>send</span><span class='lparen token'>(</span><span class='callback identifier id'>callback</span><span class='rparen token'>)</span>
535
+ <span class='end end kw'>end</span>
536
+ <span class='end end kw'>end</span>
537
+ </pre>
538
+ </td>
539
+ </tr>
540
+ </table>
541
+ </div>
542
+
543
+ <div class="method_details ">
544
+ <p class="signature " id="execute_after_disconnect_callback!-instance_method">
545
+
546
+ - (<tt>Object</tt>) <strong>execute_after_disconnect_callback!</strong>
547
+
548
+
549
+
550
+ </p><div class="docstring">
551
+ <div class="discussion">
552
+ <p class="note private">
553
+ <strong>This method is part of a private API.</strong>
554
+ You should avoid using this method if possible, as it may be removed or be changed in the future.
555
+ </p>
556
+ <p>calls the defined diconnect callbacks</p>
557
+
558
+ </div>
559
+ </div>
560
+ <div class="tags">
561
+
562
+ </div><table class="source_code">
563
+ <tr>
564
+ <td>
565
+ <pre class="lines">
566
+
567
+
568
+ 62
569
+ 63
570
+ 64
571
+ 65
572
+ 66</pre>
573
+ </td>
574
+ <td>
575
+ <pre class="code"><span class="info file"># File 'lib/marilyn-rpc/service.rb', line 62</span>
576
+
577
+ <span class='def def kw'>def</span> <span class='execute_after_disconnect_callback! fid id'>execute_after_disconnect_callback!</span>
578
+ <span class='lparen token'>(</span><span class='@@_after_disconnect_callbacks ivar id'>@@_after_disconnect_callbacks</span> <span class='orop op'>||</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='callback identifier id'>callback</span><span class='bitor op'>|</span>
579
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='send identifier id'>send</span><span class='lparen token'>(</span><span class='callback identifier id'>callback</span><span class='rparen token'>)</span>
580
+ <span class='end end kw'>end</span>
581
+ <span class='end end kw'>end</span>
582
+ </pre>
583
+ </td>
584
+ </tr>
585
+ </table>
586
+ </div>
587
+
588
+ </div>
589
+
590
+ </div>
591
+
592
+ <div id="footer">
593
+ Generated on Wed Jun 8 18:26:44 2011 by
594
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
595
+ 0.6.8 (ruby-1.8.7).
596
+ </div>
597
+
598
+ </body>
599
+ </html>