safubot 0.0.3 → 0.0.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/doc/Safubot/Bot.html CHANGED
@@ -293,7 +293,7 @@ Performs appropriate dispatch operation for response type.
293
293
  <li class="public ">
294
294
  <span class="summary_signature">
295
295
 
296
- <a href="#enable_twitter-instance_method" title="#enable_twitter (instance method)">- (Object) <strong>enable_twitter</strong>(opts = {}) </a>
296
+ <a href="#dispatch_error-instance_method" title="#dispatch_error (instance method)">- (Object) <strong>dispatch_error</strong>(resp, e) </a>
297
297
 
298
298
 
299
299
 
@@ -307,7 +307,8 @@ Performs appropriate dispatch operation for response type.
307
307
 
308
308
 
309
309
  <span class="summary_desc"><div class='inline'><p>
310
- Initialises Twitter-related functionality.
310
+ Records an error in dispatch and emits a corresponding :dispatch_error
311
+ event.
311
312
  </p>
312
313
  </div></span>
313
314
 
@@ -317,7 +318,7 @@ Initialises Twitter-related functionality.
317
318
  <li class="public ">
318
319
  <span class="summary_signature">
319
320
 
320
- <a href="#enable_xmpp-instance_method" title="#enable_xmpp (instance method)">- (Object) <strong>enable_xmpp</strong>(options = {}) </a>
321
+ <a href="#enable_twitter-instance_method" title="#enable_twitter (instance method)">- (Object) <strong>enable_twitter</strong>(opts = {}) </a>
321
322
 
322
323
 
323
324
 
@@ -331,7 +332,7 @@ Initialises Twitter-related functionality.
331
332
 
332
333
 
333
334
  <span class="summary_desc"><div class='inline'><p>
334
- Initialises XMPP-related functionality.
335
+ Initialises Twitter-related functionality.
335
336
  </p>
336
337
  </div></span>
337
338
 
@@ -341,14 +342,12 @@ Initialises XMPP-related functionality.
341
342
  <li class="public ">
342
343
  <span class="summary_signature">
343
344
 
344
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (Bot) <strong>initialize</strong>(options = {}) </a>
345
+ <a href="#enable_xmpp-instance_method" title="#enable_xmpp (instance method)">- (Object) <strong>enable_xmpp</strong>(options = {}) </a>
345
346
 
346
347
 
347
348
 
348
349
  </span>
349
350
 
350
- <span class="note title constructor">constructor</span>
351
-
352
351
 
353
352
 
354
353
 
@@ -357,7 +356,7 @@ Initialises XMPP-related functionality.
357
356
 
358
357
 
359
358
  <span class="summary_desc"><div class='inline'><p>
360
- A new instance of Bot.
359
+ Initialises XMPP-related functionality.
361
360
  </p>
362
361
  </div></span>
363
362
 
@@ -367,12 +366,14 @@ A new instance of Bot.
367
366
  <li class="public ">
368
367
  <span class="summary_signature">
369
368
 
370
- <a href="#process-instance_method" title="#process (instance method)">- (Object) <strong>process</strong> </a>
369
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Bot) <strong>initialize</strong>(options = {}) </a>
371
370
 
372
371
 
373
372
 
374
373
  </span>
375
374
 
375
+ <span class="note title constructor">constructor</span>
376
+
376
377
 
377
378
 
378
379
 
@@ -381,7 +382,7 @@ A new instance of Bot.
381
382
 
382
383
 
383
384
  <span class="summary_desc"><div class='inline'><p>
384
- Goes through each unprocessed Request and submits it for processing.
385
+ A new instance of Bot.
385
386
  </p>
386
387
  </div></span>
387
388
 
@@ -391,7 +392,7 @@ Goes through each unprocessed Request and submits it for processing.
391
392
  <li class="public ">
392
393
  <span class="summary_signature">
393
394
 
394
- <a href="#process_request-instance_method" title="#process_request (instance method)">- (Object) <strong>process_request</strong>(req) </a>
395
+ <a href="#process-instance_method" title="#process (instance method)">- (Object) <strong>process</strong> </a>
395
396
 
396
397
 
397
398
 
@@ -405,7 +406,7 @@ Goes through each unprocessed Request and submits it for processing.
405
406
 
406
407
 
407
408
  <span class="summary_desc"><div class='inline'><p>
408
- Processes an individual request (synchronously).
409
+ Goes through each unprocessed Request and submits it for processing.
409
410
  </p>
410
411
  </div></span>
411
412
 
@@ -415,7 +416,7 @@ Processes an individual request (synchronously).
415
416
  <li class="public ">
416
417
  <span class="summary_signature">
417
418
 
418
- <a href="#pull-instance_method" title="#pull (instance method)">- (Object) <strong>pull</strong> </a>
419
+ <a href="#process_request-instance_method" title="#process_request (instance method)">- (Object) <strong>process_request</strong>(req) </a>
419
420
 
420
421
 
421
422
 
@@ -429,8 +430,7 @@ Processes an individual request (synchronously).
429
430
 
430
431
 
431
432
  <span class="summary_desc"><div class='inline'><p>
432
- This pulls requests from passive non-streaming sources (currently, the
433
- Twitter AJAX API).
433
+ Processes an individual request (synchronously).
434
434
  </p>
435
435
  </div></span>
436
436
 
@@ -440,7 +440,7 @@ Twitter AJAX API).
440
440
  <li class="public ">
441
441
  <span class="summary_signature">
442
442
 
443
- <a href="#push-instance_method" title="#push (instance method)">- (Object) <strong>push</strong> </a>
443
+ <a href="#pull-instance_method" title="#pull (instance method)">- (Object) <strong>pull</strong> </a>
444
444
 
445
445
 
446
446
 
@@ -454,7 +454,8 @@ Twitter AJAX API).
454
454
 
455
455
 
456
456
  <span class="summary_desc"><div class='inline'><p>
457
- Dispatches all undispatched Responses.
457
+ This pulls requests from passive non-streaming sources (currently, the
458
+ Twitter AJAX API).
458
459
  </p>
459
460
  </div></span>
460
461
 
@@ -464,7 +465,7 @@ Dispatches all undispatched Responses.
464
465
  <li class="public ">
465
466
  <span class="summary_signature">
466
467
 
467
- <a href="#request_error-instance_method" title="#request_error (instance method)">- (Object) <strong>request_error</strong>(req, e) </a>
468
+ <a href="#push-instance_method" title="#push (instance method)">- (Object) <strong>push</strong> </a>
468
469
 
469
470
 
470
471
 
@@ -478,7 +479,7 @@ Dispatches all undispatched Responses.
478
479
 
479
480
 
480
481
  <span class="summary_desc"><div class='inline'><p>
481
- Records an error and emits a corresponding :request_error event.
482
+ Dispatches all undispatched Responses.
482
483
  </p>
483
484
  </div></span>
484
485
 
@@ -488,7 +489,7 @@ Records an error and emits a corresponding :request_error event.
488
489
  <li class="public ">
489
490
  <span class="summary_signature">
490
491
 
491
- <a href="#respond-instance_method" title="#respond (instance method)">- (Object) <strong>respond</strong>(req, text) </a>
492
+ <a href="#request_error-instance_method" title="#request_error (instance method)">- (Object) <strong>request_error</strong>(req, e) </a>
492
493
 
493
494
 
494
495
 
@@ -502,7 +503,8 @@ Records an error and emits a corresponding :request_error event.
502
503
 
503
504
 
504
505
  <span class="summary_desc"><div class='inline'><p>
505
- Adds a response to the queue.
506
+ Records an error in processing and emits a corresponding :request_error
507
+ event.
506
508
  </p>
507
509
  </div></span>
508
510
 
@@ -512,7 +514,7 @@ Adds a response to the queue.
512
514
  <li class="public ">
513
515
  <span class="summary_signature">
514
516
 
515
- <a href="#respond_now-instance_method" title="#respond_now (instance method)">- (Object) <strong>respond_now</strong>(req, text) </a>
517
+ <a href="#respond-instance_method" title="#respond (instance method)">- (Object) <strong>respond</strong>(req, text) </a>
516
518
 
517
519
 
518
520
 
@@ -526,7 +528,7 @@ Adds a response to the queue.
526
528
 
527
529
 
528
530
  <span class="summary_desc"><div class='inline'><p>
529
- Respond + push.
531
+ Adds a response to the queue and dispatches it.
530
532
  </p>
531
533
  </div></span>
532
534
 
@@ -647,16 +649,16 @@ A new instance of Bot
647
649
  <pre class="lines">
648
650
 
649
651
 
650
- 190
651
- 191
652
- 192
653
- 193
654
- 194
655
- 195
656
- 196</pre>
652
+ 264
653
+ 265
654
+ 266
655
+ 267
656
+ 268
657
+ 269
658
+ 270</pre>
657
659
  </td>
658
660
  <td>
659
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 190</span>
661
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 264</span>
660
662
 
661
663
  <span class='kw'>def</span> <span class='id initialize'>initialize</span><span class='lparen'>(</span><span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
662
664
  <span class='id defaults'>defaults</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:database</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>safubot</span><span class='tstring_end'>&quot;</span></span> <span class='rbrace'>}</span>
@@ -703,12 +705,12 @@ Returns the value of attribute opts
703
705
  <pre class="lines">
704
706
 
705
707
 
706
- 47
707
- 48
708
- 49</pre>
708
+ 81
709
+ 82
710
+ 83</pre>
709
711
  </td>
710
712
  <td>
711
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 47</span>
713
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 81</span>
712
714
 
713
715
  <span class='kw'>def</span> <span class='id opts'>opts</span>
714
716
  <span class='ivar'>@opts</span>
@@ -746,12 +748,12 @@ Returns the value of attribute twitter
746
748
  <pre class="lines">
747
749
 
748
750
 
749
- 47
750
- 48
751
- 49</pre>
751
+ 81
752
+ 82
753
+ 83</pre>
752
754
  </td>
753
755
  <td>
754
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 47</span>
756
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 81</span>
755
757
 
756
758
  <span class='kw'>def</span> <span class='id twitter'>twitter</span>
757
759
  <span class='ivar'>@twitter</span>
@@ -789,12 +791,12 @@ Returns the value of attribute xmpp
789
791
  <pre class="lines">
790
792
 
791
793
 
792
- 47
793
- 48
794
- 49</pre>
794
+ 81
795
+ 82
796
+ 83</pre>
795
797
  </td>
796
798
  <td>
797
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 47</span>
799
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 81</span>
798
800
 
799
801
  <span class='kw'>def</span> <span class='id xmpp'>xmpp</span>
800
802
  <span class='ivar'>@xmpp</span>
@@ -877,16 +879,16 @@ KnownUser.by_name(&#8216;testing&#8217;)
877
879
  <pre class="lines">
878
880
 
879
881
 
880
- 61
881
- 62
882
- 63
883
- 64
884
882
  65
885
883
  66
886
- 67</pre>
884
+ 67
885
+ 68
886
+ 69
887
+ 70
888
+ 71</pre>
887
889
  </td>
888
890
  <td>
889
- <pre class="code"><span class="info file"># File 'lib/safubot/test_helper.rb', line 61</span>
891
+ <pre class="code"><span class="info file"># File 'lib/safubot/test_helper.rb', line 65</span>
890
892
 
891
893
  <span class='kw'>def</span> <span class='id answer'>answer</span><span class='lparen'>(</span><span class='id text'>text</span><span class='comma'>,</span> <span class='id user'>user</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
892
894
  <span class='id user'>user</span> <span class='op'>||=</span> <span class='const'>KnownUser</span><span class='period'>.</span><span class='id by_name'>by_name</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>testing</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
@@ -964,20 +966,19 @@ The operation to be performed in a separate thread.
964
966
  <pre class="lines">
965
967
 
966
968
 
967
- 138
968
- 139
969
- 140
970
- 141
971
- 142
972
- 143
973
- 144
974
- 145
975
- 146
976
- 147
977
- 148</pre>
969
+ 211
970
+ 212
971
+ 213
972
+ 214
973
+ 215
974
+ 216
975
+ 217
976
+ 218
977
+ 219
978
+ 220</pre>
978
979
  </td>
979
980
  <td>
980
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 138</span>
981
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 211</span>
981
982
 
982
983
  <span class='kw'>def</span> <span class='id concurrently'>concurrently</span><span class='lparen'>(</span><span class='id req'>req</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id blk'>blk</span><span class='rparen'>)</span>
983
984
  <span class='const'>Thread</span><span class='period'>.</span><span class='id new'>new</span> <span class='kw'>do</span>
@@ -986,7 +987,6 @@ The operation to be performed in a separate thread.
986
987
  <span class='kw'>rescue</span> <span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id e'>e</span>
987
988
  <span class='id request_error'>request_error</span><span class='lparen'>(</span><span class='id req'>req</span><span class='comma'>,</span> <span class='id e'>e</span><span class='rparen'>)</span>
988
989
  <span class='kw'>end</span>
989
-
990
990
  <span class='id push'>push</span>
991
991
  <span class='kw'>end</span>
992
992
  <span class='kw'>end</span></pre>
@@ -1041,37 +1041,73 @@ An undispatched Response.
1041
1041
  <pre class="lines">
1042
1042
 
1043
1043
 
1044
- 77
1045
- 78
1046
- 79
1047
- 80
1048
- 81
1049
- 82
1050
- 83
1051
- 84
1052
- 85
1053
- 86
1054
- 87
1055
- 88
1056
- 89
1057
- 90
1058
- 91
1059
- 92
1060
- 93
1061
- 94
1062
- 95
1063
- 96
1064
- 97
1065
- 98
1066
- 99
1067
- 100</pre>
1044
+ 138
1045
+ 139
1046
+ 140
1047
+ 141
1048
+ 142
1049
+ 143
1050
+ 144
1051
+ 145
1052
+ 146
1053
+ 147
1054
+ 148
1055
+ 149
1056
+ 150
1057
+ 151
1058
+ 152
1059
+ 153
1060
+ 154
1061
+ 155
1062
+ 156
1063
+ 157
1064
+ 158
1065
+ 159
1066
+ 160
1067
+ 161
1068
+ 162
1069
+ 163
1070
+ 164
1071
+ 165
1072
+ 166
1073
+ 167
1074
+ 168
1075
+ 169
1076
+ 170
1077
+ 171
1078
+ 172
1079
+ 173
1080
+ 174
1081
+ 175
1082
+ 176
1083
+ 177
1084
+ 178
1085
+ 179</pre>
1068
1086
  </td>
1069
1087
  <td>
1070
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 77</span>
1088
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 138</span>
1071
1089
 
1072
1090
  <span class='kw'>def</span> <span class='id dispatch'>dispatch</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='rparen'>)</span>
1091
+ <span class='id resp'>resp</span><span class='period'>.</span><span class='id reload'>reload</span>
1092
+ <span class='kw'>if</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id dispatched'>dispatched</span>
1093
+ <span class='const'>Log</span><span class='period'>.</span><span class='id debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Response '</span><span class='embexpr_beg'>#{</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>' has already been dispatched, ignoring.</span><span class='tstring_end'>&quot;</span></span>
1094
+ <span class='kw'>return</span>
1095
+ <span class='kw'>elsif</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id dispatching'>dispatching</span>
1096
+ <span class='const'>Log</span><span class='period'>.</span><span class='id debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Response '</span><span class='embexpr_beg'>#{</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>' is already in dispatch, ignoring.</span><span class='tstring_end'>&quot;</span></span>
1097
+ <span class='kw'>return</span>
1098
+ <span class='kw'>elsif</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id problems'>problems</span><span class='period'>.</span><span class='id length'>length</span> <span class='op'>&gt;</span> <span class='int'>10</span>
1099
+ <span class='const'>Log</span><span class='period'>.</span><span class='id debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Response '</span><span class='embexpr_beg'>#{</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>' encountered more than ten dispatch errors, ignoring.</span><span class='tstring_end'>&quot;</span></span>
1100
+ <span class='kw'>return</span>
1101
+ <span class='kw'>elsif</span> <span class='op'>!</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id problems'>problems</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='op'>&amp;&amp;</span> <span class='lparen'>(</span><span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span> <span class='op'>-</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id last_problem'>last_problem</span><span class='period'>.</span><span class='id when'>when</span><span class='rparen'>)</span> <span class='op'>&lt;</span> <span class='int'>1</span><span class='period'>.</span><span class='id minute'>minute</span>
1102
+ <span class='const'>Log</span><span class='period'>.</span><span class='id debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Response '</span><span class='embexpr_beg'>#{</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>' encountered a dispatch error &lt;1 minute ago, ignoring.</span><span class='tstring_end'>&quot;</span></span>
1103
+ <span class='kw'>return</span>
1104
+ <span class='kw'>end</span>
1105
+
1073
1106
  <span class='kw'>begin</span>
1074
1107
  <span class='id source'>source</span> <span class='op'>=</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id request'>request</span><span class='period'>.</span><span class='id source'>source</span>
1108
+ <span class='id resp'>resp</span><span class='period'>.</span><span class='id dispatching'>dispatching</span> <span class='op'>=</span> <span class='kw'>true</span>
1109
+ <span class='id resp'>resp</span><span class='period'>.</span><span class='id save'>save</span>
1110
+
1075
1111
  <span class='kw'>if</span> <span class='const'>Safubot</span><span class='op'>::</span><span class='id mode'>mode</span> <span class='op'>!=</span> <span class='symbol'>:production</span>
1076
1112
  <span class='const'>Log</span><span class='period'>.</span><span class='id info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id source'>source</span><span class='period'>.</span><span class='id class'>class</span><span class='rbrace'>}</span><span class='tstring_content'> Response to </span><span class='embexpr_beg'>#{</span><span class='id source'>source</span><span class='period'>.</span><span class='id username'>username</span><span class='rbrace'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1077
1113
  <span class='kw'>else</span>
@@ -1082,20 +1118,105 @@ An undispatched Response.
1082
1118
  <span class='kw'>else</span>
1083
1119
  <span class='id raise'>raise</span> <span class='const'>NotImplementedError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Don't know how to send response to a </span><span class='embexpr_beg'>#{</span><span class='id source'>source</span><span class='period'>.</span><span class='id class'>class</span><span class='rbrace'>}</span><span class='tstring_content'>!</span><span class='tstring_end'>&quot;</span></span>
1084
1120
  <span class='kw'>end</span>
1085
- <span class='kw'>end</span>
1086
1121
 
1087
- <span class='id resp'>resp</span><span class='period'>.</span><span class='id dispatched'>dispatched</span> <span class='op'>=</span> <span class='kw'>true</span>
1088
- <span class='id resp'>resp</span><span class='period'>.</span><span class='id save'>save</span>
1122
+ <span class='id resp'>resp</span><span class='period'>.</span><span class='id dispatched'>dispatched</span> <span class='op'>=</span> <span class='kw'>true</span>
1123
+ <span class='id resp'>resp</span><span class='period'>.</span><span class='id save'>save</span>
1124
+ <span class='kw'>end</span>
1089
1125
  <span class='kw'>rescue</span> <span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id e'>e</span>
1090
- <span class='const'>Log</span><span class='period'>.</span><span class='id error'>error</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Error dispatching </span><span class='embexpr_beg'>#{</span><span class='id source'>source</span><span class='period'>.</span><span class='id class'>class</span><span class='rbrace'>}</span><span class='tstring_content'> '</span><span class='embexpr_beg'>#{</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>': </span><span class='embexpr_beg'>#{</span><span class='id e'>e</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1091
- <span class='id resp'>resp</span><span class='period'>.</span><span class='id errors'>errors</span><span class='lbracket'>[</span><span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id e'>e</span>
1126
+ <span class='id dispatch_error'>dispatch_error</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='comma'>,</span> <span class='id e'>e</span><span class='rparen'>)</span>
1127
+ <span class='kw'>ensure</span>
1128
+ <span class='id resp'>resp</span><span class='period'>.</span><span class='id dispatching'>dispatching</span> <span class='op'>=</span> <span class='kw'>false</span>
1092
1129
  <span class='id resp'>resp</span><span class='period'>.</span><span class='id save'>save</span>
1093
- <span class='id emit'>emit</span><span class='lparen'>(</span><span class='symbol'>:dispatch_error</span><span class='comma'>,</span> <span class='id resp'>resp</span><span class='comma'>,</span> <span class='id e'>e</span><span class='rparen'>)</span>
1094
1130
  <span class='kw'>end</span>
1095
1131
  <span class='kw'>end</span></pre>
1096
1132
  </td>
1097
1133
  </tr>
1098
1134
  </table>
1135
+ </div>
1136
+
1137
+ <div class="method_details ">
1138
+ <p class="signature " id="dispatch_error-instance_method">
1139
+
1140
+ - (<tt>Object</tt>) <strong>dispatch_error</strong>(resp, e)
1141
+
1142
+
1143
+
1144
+ </p><div class="docstring">
1145
+ <div class="discussion">
1146
+ <p>
1147
+ Records an error in dispatch and emits a corresponding :dispatch_error
1148
+ event.
1149
+ </p>
1150
+
1151
+
1152
+ </div>
1153
+ </div>
1154
+ <div class="tags">
1155
+ <h3>Parameters:</h3>
1156
+ <ul class="param">
1157
+
1158
+ <li>
1159
+
1160
+ <span class='name'>resp</span>
1161
+
1162
+
1163
+ <span class='type'></span>
1164
+
1165
+
1166
+
1167
+ &mdash;
1168
+ <div class='inline'><p>
1169
+ The Response for which the error was encountered.
1170
+ </p>
1171
+ </div>
1172
+
1173
+ </li>
1174
+
1175
+ <li>
1176
+
1177
+ <span class='name'>e</span>
1178
+
1179
+
1180
+ <span class='type'></span>
1181
+
1182
+
1183
+
1184
+ &mdash;
1185
+ <div class='inline'><p>
1186
+ The caught Exception.
1187
+ </p>
1188
+ </div>
1189
+
1190
+ </li>
1191
+
1192
+ </ul>
1193
+
1194
+
1195
+ </div><table class="source_code">
1196
+ <tr>
1197
+ <td>
1198
+ <pre class="lines">
1199
+
1200
+
1201
+ 98
1202
+ 99
1203
+ 100
1204
+ 101
1205
+ 102
1206
+ 103</pre>
1207
+ </td>
1208
+ <td>
1209
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 98</span>
1210
+
1211
+ <span class='kw'>def</span> <span class='id dispatch_error'>dispatch_error</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='comma'>,</span> <span class='id e'>e</span><span class='rparen'>)</span>
1212
+ <span class='const'>Log</span><span class='period'>.</span><span class='id error'>error</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Error dispatching </span><span class='embexpr_beg'>#{</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id request'>request</span><span class='period'>.</span><span class='id source'>source</span><span class='period'>.</span><span class='id class'>class</span><span class='rbrace'>}</span><span class='tstring_content'> '</span><span class='embexpr_beg'>#{</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>': </span><span class='embexpr_beg'>#{</span><span class='id error_report'>error_report</span><span class='lparen'>(</span><span class='id e'>e</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1213
+ <span class='id resp'>resp</span><span class='period'>.</span><span class='id add_problem'>add_problem</span><span class='lparen'>(</span><span class='id e'>e</span><span class='rparen'>)</span>
1214
+ <span class='id resp'>resp</span><span class='period'>.</span><span class='id save'>save</span>
1215
+ <span class='id emit'>emit</span><span class='lparen'>(</span><span class='symbol'>:dispatch_error</span><span class='comma'>,</span> <span class='id resp'>resp</span><span class='comma'>,</span> <span class='id e'>e</span><span class='rparen'>)</span>
1216
+ <span class='kw'>end</span></pre>
1217
+ </td>
1218
+ </tr>
1219
+ </table>
1099
1220
  </div>
1100
1221
 
1101
1222
  <div class="method_details ">
@@ -1123,20 +1244,22 @@ Initialises Twitter-related functionality.
1123
1244
  <pre class="lines">
1124
1245
 
1125
1246
 
1126
- 174
1127
- 175
1128
- 176
1129
- 177
1130
- 178
1131
- 179</pre>
1247
+ 246
1248
+ 247
1249
+ 248
1250
+ 249
1251
+ 250
1252
+ 251
1253
+ 252</pre>
1132
1254
  </td>
1133
1255
  <td>
1134
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 174</span>
1256
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 246</span>
1135
1257
 
1136
1258
  <span class='kw'>def</span> <span class='id enable_twitter'>enable_twitter</span><span class='lparen'>(</span><span class='id opts'>opts</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1137
1259
  <span class='ivar'>@twitter</span> <span class='op'>=</span> <span class='const'>Twitter</span><span class='op'>::</span><span class='const'>Bot</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id opts'>opts</span><span class='rparen'>)</span>
1138
1260
  <span class='ivar'>@twitter</span><span class='period'>.</span><span class='id on'>on</span><span class='lparen'>(</span><span class='symbol'>:request</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id req'>req</span><span class='op'>|</span>
1139
- <span class='id process'>process</span><span class='semicolon'>;</span> <span class='id push'>push</span>
1261
+ <span class='id process_request'>process_request</span><span class='lparen'>(</span><span class='id req'>req</span><span class='rparen'>)</span>
1262
+ <span class='id req'>req</span><span class='period'>.</span><span class='id responses'>responses</span><span class='period'>.</span><span class='id where'>where</span><span class='lparen'>(</span><span class='symbol'>:dispatched</span> <span class='op'>=&gt;</span> <span class='kw'>false</span><span class='rparen'>)</span><span class='period'>.</span><span class='id map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:dispatch</span><span class='rparen'>)</span>
1140
1263
  <span class='kw'>end</span>
1141
1264
  <span class='kw'>end</span></pre>
1142
1265
  </td>
@@ -1169,22 +1292,24 @@ Initialises XMPP-related functionality.
1169
1292
  <pre class="lines">
1170
1293
 
1171
1294
 
1172
- 182
1173
- 183
1174
- 184
1175
- 185
1176
- 186
1177
- 187
1178
- 188</pre>
1295
+ 255
1296
+ 256
1297
+ 257
1298
+ 258
1299
+ 259
1300
+ 260
1301
+ 261
1302
+ 262</pre>
1179
1303
  </td>
1180
1304
  <td>
1181
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 182</span>
1305
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 255</span>
1182
1306
 
1183
1307
  <span class='kw'>def</span> <span class='id enable_xmpp'>enable_xmpp</span><span class='lparen'>(</span><span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1184
1308
  <span class='id defaults'>defaults</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:jid</span> <span class='op'>=&gt;</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:password</span> <span class='op'>=&gt;</span> <span class='kw'>nil</span> <span class='rbrace'>}</span>
1185
1309
  <span class='ivar'>@xmpp</span> <span class='op'>=</span> <span class='const'>XMPP</span><span class='op'>::</span><span class='const'>Bot</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id defaults'>defaults</span><span class='period'>.</span><span class='id merge'>merge</span><span class='lparen'>(</span><span class='id options'>options</span><span class='rparen'>)</span><span class='rparen'>)</span>
1186
1310
  <span class='ivar'>@xmpp</span><span class='period'>.</span><span class='id on'>on</span><span class='lparen'>(</span><span class='symbol'>:request</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id req'>req</span><span class='op'>|</span>
1187
- <span class='id process'>process</span><span class='semicolon'>;</span> <span class='id push'>push</span>
1311
+ <span class='id process_request'>process_request</span><span class='lparen'>(</span><span class='id req'>req</span><span class='rparen'>)</span>
1312
+ <span class='id req'>req</span><span class='period'>.</span><span class='id responses'>responses</span><span class='period'>.</span><span class='id where'>where</span><span class='lparen'>(</span><span class='symbol'>:dispatched</span> <span class='op'>=&gt;</span> <span class='kw'>false</span><span class='rparen'>)</span><span class='period'>.</span><span class='id map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:dispatch</span><span class='rparen'>)</span>
1188
1313
  <span class='kw'>end</span>
1189
1314
  <span class='kw'>end</span></pre>
1190
1315
  </td>
@@ -1217,14 +1342,14 @@ Goes through each unprocessed Request and submits it for processing.
1217
1342
  <pre class="lines">
1218
1343
 
1219
1344
 
1220
- 108
1221
- 109
1222
- 110
1223
- 111
1224
- 112</pre>
1345
+ 187
1346
+ 188
1347
+ 189
1348
+ 190
1349
+ 191</pre>
1225
1350
  </td>
1226
1351
  <td>
1227
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 108</span>
1352
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 187</span>
1228
1353
 
1229
1354
  <span class='kw'>def</span> <span class='id process'>process</span>
1230
1355
  <span class='const'>Request</span><span class='period'>.</span><span class='id where'>where</span><span class='lparen'>(</span><span class='symbol'>:processed</span> <span class='op'>=&gt;</span> <span class='kw'>false</span><span class='rparen'>)</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id req'>req</span><span class='op'>|</span>
@@ -1282,29 +1407,61 @@ An unprocessed Request.
1282
1407
  <pre class="lines">
1283
1408
 
1284
1409
 
1285
- 63
1286
- 64
1287
- 65
1288
- 66
1289
- 67
1290
- 68
1291
- 69
1292
- 70
1293
- 71
1294
- 72</pre>
1410
+ 108
1411
+ 109
1412
+ 110
1413
+ 111
1414
+ 112
1415
+ 113
1416
+ 114
1417
+ 115
1418
+ 116
1419
+ 117
1420
+ 118
1421
+ 119
1422
+ 120
1423
+ 121
1424
+ 122
1425
+ 123
1426
+ 124
1427
+ 125
1428
+ 126
1429
+ 127
1430
+ 128
1431
+ 129
1432
+ 130
1433
+ 131
1434
+ 132
1435
+ 133</pre>
1295
1436
  </td>
1296
1437
  <td>
1297
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 63</span>
1438
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 108</span>
1298
1439
 
1299
1440
  <span class='kw'>def</span> <span class='id process_request'>process_request</span><span class='lparen'>(</span><span class='id req'>req</span><span class='rparen'>)</span>
1441
+ <span class='id req'>req</span><span class='period'>.</span><span class='id reload'>reload</span>
1442
+ <span class='kw'>if</span> <span class='id req'>req</span><span class='period'>.</span><span class='id processed'>processed</span>
1443
+ <span class='const'>Log</span><span class='period'>.</span><span class='id debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Request '</span><span class='embexpr_beg'>#{</span><span class='id req'>req</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>' has already been processed, ignoring.</span><span class='tstring_end'>&quot;</span></span>
1444
+ <span class='kw'>return</span>
1445
+ <span class='kw'>elsif</span> <span class='id req'>req</span><span class='period'>.</span><span class='id processing'>processing</span>
1446
+ <span class='const'>Log</span><span class='period'>.</span><span class='id debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Request '</span><span class='embexpr_beg'>#{</span><span class='id req'>req</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>' is currently in processing, ignoring.</span><span class='tstring_end'>&quot;</span></span>
1447
+ <span class='kw'>return</span>
1448
+ <span class='kw'>end</span>
1449
+
1300
1450
  <span class='kw'>begin</span>
1451
+ <span class='id req'>req</span><span class='period'>.</span><span class='id processing'>processing</span> <span class='op'>=</span> <span class='kw'>true</span>
1452
+ <span class='id req'>req</span><span class='period'>.</span><span class='id save'>save</span>
1301
1453
  <span class='id emit'>emit</span><span class='lparen'>(</span><span class='symbol'>:request</span><span class='comma'>,</span> <span class='id req'>req</span><span class='rparen'>)</span>
1302
1454
  <span class='kw'>rescue</span> <span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id e'>e</span>
1303
1455
  <span class='id request_error'>request_error</span><span class='lparen'>(</span><span class='id req'>req</span><span class='comma'>,</span> <span class='id e'>e</span><span class='rparen'>)</span>
1456
+ <span class='kw'>else</span>
1457
+ <span class='id req'>req</span><span class='period'>.</span><span class='id success'>success</span> <span class='op'>=</span> <span class='kw'>true</span>
1304
1458
  <span class='kw'>ensure</span>
1305
- <span class='id req'>req</span><span class='period'>.</span><span class='id processed'>processed</span> <span class='op'>=</span> <span class='kw'>true</span>
1306
- <span class='id req'>req</span><span class='period'>.</span><span class='id save'>save</span>
1307
- <span class='kw'>end</span>
1459
+ <span class='comment'>#if Safubot::mode == :production
1460
+ </span> <span class='id req'>req</span><span class='period'>.</span><span class='id processing'>processing</span> <span class='op'>=</span> <span class='kw'>false</span>
1461
+ <span class='id req'>req</span><span class='period'>.</span><span class='id processed'>processed</span> <span class='op'>=</span> <span class='kw'>true</span>
1462
+ <span class='id req'>req</span><span class='period'>.</span><span class='id save'>save</span>
1463
+ <span class='comment'>#end
1464
+ </span> <span class='kw'>end</span>
1308
1465
  <span class='kw'>end</span></pre>
1309
1466
  </td>
1310
1467
  </tr>
@@ -1337,12 +1494,12 @@ Twitter AJAX API).
1337
1494
  <pre class="lines">
1338
1495
 
1339
1496
 
1340
- 103
1341
- 104
1342
- 105</pre>
1497
+ 182
1498
+ 183
1499
+ 184</pre>
1343
1500
  </td>
1344
1501
  <td>
1345
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 103</span>
1502
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 182</span>
1346
1503
 
1347
1504
  <span class='kw'>def</span> <span class='id pull'>pull</span>
1348
1505
  <span class='ivar'>@twitter</span><span class='period'>.</span><span class='id pull'>pull</span>
@@ -1377,12 +1534,12 @@ Dispatches all undispatched Responses.
1377
1534
  <pre class="lines">
1378
1535
 
1379
1536
 
1380
- 130
1381
- 131
1382
- 132</pre>
1537
+ 203
1538
+ 204
1539
+ 205</pre>
1383
1540
  </td>
1384
1541
  <td>
1385
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 130</span>
1542
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 203</span>
1386
1543
 
1387
1544
  <span class='kw'>def</span> <span class='id push'>push</span>
1388
1545
  <span class='const'>Response</span><span class='period'>.</span><span class='id where'>where</span><span class='lparen'>(</span><span class='symbol'>:dispatched</span> <span class='op'>=&gt;</span> <span class='kw'>false</span><span class='rparen'>)</span><span class='period'>.</span><span class='id each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id method'>method</span><span class='lparen'>(</span><span class='symbol'>:dispatch</span><span class='rparen'>)</span><span class='rparen'>)</span>
@@ -1402,7 +1559,8 @@ Dispatches all undispatched Responses.
1402
1559
  </p><div class="docstring">
1403
1560
  <div class="discussion">
1404
1561
  <p>
1405
- Records an error and emits a corresponding :request_error event.
1562
+ Records an error in processing and emits a corresponding :request_error
1563
+ event.
1406
1564
  </p>
1407
1565
 
1408
1566
 
@@ -1455,19 +1613,19 @@ The caught Exception.
1455
1613
  <pre class="lines">
1456
1614
 
1457
1615
 
1458
- 53
1459
- 54
1460
- 55
1461
- 56
1462
- 57
1463
- 58</pre>
1616
+ 87
1617
+ 88
1618
+ 89
1619
+ 90
1620
+ 91
1621
+ 92</pre>
1464
1622
  </td>
1465
1623
  <td>
1466
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 53</span>
1624
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 87</span>
1467
1625
 
1468
1626
  <span class='kw'>def</span> <span class='id request_error'>request_error</span><span class='lparen'>(</span><span class='id req'>req</span><span class='comma'>,</span> <span class='id e'>e</span><span class='rparen'>)</span>
1469
- <span class='const'>Log</span><span class='period'>.</span><span class='id error'>error</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Error processing </span><span class='embexpr_beg'>#{</span><span class='id req'>req</span><span class='period'>.</span><span class='id source'>source</span><span class='period'>.</span><span class='id class'>class</span><span class='rbrace'>}</span><span class='tstring_content'> '</span><span class='embexpr_beg'>#{</span><span class='id req'>req</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>': </span><span class='embexpr_beg'>#{</span><span class='id e'>e</span><span class='rbrace'>}</span><span class='tstring_content'>\n</span><span class='embexpr_beg'>#{</span><span class='id e'>e</span><span class='period'>.</span><span class='id backtrace'>backtrace</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n\t</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1470
- <span class='id req'>req</span><span class='period'>.</span><span class='id errors'>errors</span><span class='lbracket'>[</span><span class='const'>Time</span><span class='period'>.</span><span class='id now'>now</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id e'>e</span>
1627
+ <span class='const'>Log</span><span class='period'>.</span><span class='id error'>error</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Error processing </span><span class='embexpr_beg'>#{</span><span class='id req'>req</span><span class='period'>.</span><span class='id source'>source</span><span class='period'>.</span><span class='id class'>class</span><span class='rbrace'>}</span><span class='tstring_content'> '</span><span class='embexpr_beg'>#{</span><span class='id req'>req</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>': </span><span class='embexpr_beg'>#{</span><span class='id error_report'>error_report</span><span class='lparen'>(</span><span class='id e'>e</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1628
+ <span class='id req'>req</span><span class='period'>.</span><span class='id add_problem'>add_problem</span><span class='lparen'>(</span><span class='id e'>e</span><span class='rparen'>)</span>
1471
1629
  <span class='id req'>req</span><span class='period'>.</span><span class='id save'>save</span>
1472
1630
  <span class='id emit'>emit</span><span class='lparen'>(</span><span class='symbol'>:request_error</span><span class='comma'>,</span> <span class='id req'>req</span><span class='comma'>,</span> <span class='id e'>e</span><span class='rparen'>)</span>
1473
1631
  <span class='kw'>end</span></pre>
@@ -1486,7 +1644,7 @@ The caught Exception.
1486
1644
  </p><div class="docstring">
1487
1645
  <div class="discussion">
1488
1646
  <p>
1489
- Adds a response to the queue.
1647
+ Adds a response to the queue and dispatches it.
1490
1648
  </p>
1491
1649
 
1492
1650
 
@@ -1539,59 +1697,17 @@ Contents of the response.
1539
1697
  <pre class="lines">
1540
1698
 
1541
1699
 
1542
- 118
1543
- 119
1544
- 120
1545
- 121</pre>
1700
+ 197
1701
+ 198
1702
+ 199
1703
+ 200</pre>
1546
1704
  </td>
1547
1705
  <td>
1548
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 118</span>
1706
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 197</span>
1549
1707
 
1550
1708
  <span class='kw'>def</span> <span class='id respond'>respond</span><span class='lparen'>(</span><span class='id req'>req</span><span class='comma'>,</span> <span class='id text'>text</span><span class='rparen'>)</span>
1551
1709
  <span class='const'>Log</span><span class='period'>.</span><span class='id info'>info</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id req'>req</span><span class='period'>.</span><span class='id user'>user</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id req'>req</span><span class='period'>.</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>\nsafubot: </span><span class='embexpr_beg'>#{</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1552
- <span class='const'>Response</span><span class='period'>.</span><span class='id create'>create</span><span class='lparen'>(</span><span class='symbol'>:request</span> <span class='op'>=&gt;</span> <span class='id req'>req</span><span class='comma'>,</span> <span class='symbol'>:text</span> <span class='op'>=&gt;</span> <span class='id text'>text</span><span class='rparen'>)</span>
1553
- <span class='kw'>end</span></pre>
1554
- </td>
1555
- </tr>
1556
- </table>
1557
- </div>
1558
-
1559
- <div class="method_details ">
1560
- <p class="signature " id="respond_now-instance_method">
1561
-
1562
- - (<tt>Object</tt>) <strong>respond_now</strong>(req, text)
1563
-
1564
-
1565
-
1566
- </p><div class="docstring">
1567
- <div class="discussion">
1568
- <p>
1569
- Respond + push
1570
- </p>
1571
-
1572
-
1573
- </div>
1574
- </div>
1575
- <div class="tags">
1576
-
1577
-
1578
- </div><table class="source_code">
1579
- <tr>
1580
- <td>
1581
- <pre class="lines">
1582
-
1583
-
1584
- 124
1585
- 125
1586
- 126
1587
- 127</pre>
1588
- </td>
1589
- <td>
1590
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 124</span>
1591
-
1592
- <span class='kw'>def</span> <span class='id respond_now'>respond_now</span><span class='lparen'>(</span><span class='id req'>req</span><span class='comma'>,</span> <span class='id text'>text</span><span class='rparen'>)</span>
1593
- <span class='id respond'>respond</span><span class='lparen'>(</span><span class='id req'>req</span><span class='comma'>,</span> <span class='id text'>text</span><span class='rparen'>)</span>
1594
- <span class='id push'>push</span>
1710
+ <span class='id dispatch'>dispatch</span><span class='lparen'>(</span><span class='const'>Response</span><span class='period'>.</span><span class='id create'>create</span><span class='lparen'>(</span><span class='symbol'>:request</span> <span class='op'>=&gt;</span> <span class='id req'>req</span><span class='comma'>,</span> <span class='symbol'>:text</span> <span class='op'>=&gt;</span> <span class='id text'>text</span><span class='rparen'>)</span><span class='rparen'>)</span>
1595
1711
  <span class='kw'>end</span></pre>
1596
1712
  </td>
1597
1713
  </tr>
@@ -1623,17 +1739,17 @@ Calls run_nowait and then waits for all child processes.
1623
1739
  <pre class="lines">
1624
1740
 
1625
1741
 
1626
- 158
1627
- 159
1628
- 160
1629
- 161
1630
- 162
1631
- 163
1632
- 164
1633
- 165</pre>
1742
+ 230
1743
+ 231
1744
+ 232
1745
+ 233
1746
+ 234
1747
+ 235
1748
+ 236
1749
+ 237</pre>
1634
1750
  </td>
1635
1751
  <td>
1636
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 158</span>
1752
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 230</span>
1637
1753
 
1638
1754
  <span class='kw'>def</span> <span class='id run'>run</span>
1639
1755
  <span class='id run_nowait'>run_nowait</span>
@@ -1674,14 +1790,14 @@ processes.
1674
1790
  <pre class="lines">
1675
1791
 
1676
1792
 
1677
- 151
1678
- 152
1679
- 153
1680
- 154
1681
- 155</pre>
1793
+ 223
1794
+ 224
1795
+ 225
1796
+ 226
1797
+ 227</pre>
1682
1798
  </td>
1683
1799
  <td>
1684
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 151</span>
1800
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 223</span>
1685
1801
 
1686
1802
  <span class='kw'>def</span> <span class='id run_nowait'>run_nowait</span>
1687
1803
  <span class='id pull'>pull</span><span class='semicolon'>;</span> <span class='id process'>process</span><span class='semicolon'>;</span> <span class='id push'>push</span>
@@ -1718,13 +1834,13 @@ Shuts down the streaming processes.
1718
1834
  <pre class="lines">
1719
1835
 
1720
1836
 
1721
- 168
1722
- 169
1723
- 170
1724
- 171</pre>
1837
+ 240
1838
+ 241
1839
+ 242
1840
+ 243</pre>
1725
1841
  </td>
1726
1842
  <td>
1727
- <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 168</span>
1843
+ <pre class="code"><span class="info file"># File 'lib/safubot/bot.rb', line 240</span>
1728
1844
 
1729
1845
  <span class='kw'>def</span> <span class='id stop'>stop</span>
1730
1846
  <span class='ivar'>@twitter</span><span class='period'>.</span><span class='id stop'>stop</span> <span class='kw'>if</span> <span class='ivar'>@twitter</span>
@@ -1740,7 +1856,7 @@ Shuts down the streaming processes.
1740
1856
  </div>
1741
1857
 
1742
1858
  <div id="footer">
1743
- Generated on Tue Nov 29 11:44:04 2011 by
1859
+ Generated on Thu Dec 1 18:19:17 2011 by
1744
1860
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1745
1861
  0.7.3 (ruby-1.9.2).
1746
1862
  </div>