safubot 0.0.2 → 0.0.3

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.
@@ -77,7 +77,19 @@
77
77
  </dl>
78
78
  <div class="clear"></div>
79
79
 
80
- <h2>Defined Under Namespace</h2>
80
+ <h2>Overview</h2><div class="docstring">
81
+ <div class="discussion">
82
+ <p>
83
+ XMPP-specific functionality.
84
+ </p>
85
+
86
+
87
+ </div>
88
+ </div>
89
+ <div class="tags">
90
+
91
+
92
+ </div><h2>Defined Under Namespace</h2>
81
93
  <p class="children">
82
94
 
83
95
 
@@ -97,7 +109,7 @@
97
109
  </div>
98
110
 
99
111
  <div id="footer">
100
- Generated on Mon Nov 28 20:20:04 2011 by
112
+ Generated on Tue Nov 29 11:44:04 2011 by
101
113
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
102
114
  0.7.3 (ruby-1.9.2).
103
115
  </div>
@@ -169,6 +169,60 @@ Returns the value of attribute opts.
169
169
  </p>
170
170
  </div></span>
171
171
 
172
+ </li>
173
+
174
+
175
+ <li class="public ">
176
+ <span class="summary_signature">
177
+
178
+ <a href="#pid-instance_method" title="#pid (instance method)">- (Object) <strong>pid</strong> </a>
179
+
180
+
181
+
182
+ </span>
183
+
184
+
185
+ <span class="note title readonly">readonly</span>
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+ <span class="summary_desc"><div class='inline'><p>
195
+ Returns the value of attribute pid.
196
+ </p>
197
+ </div></span>
198
+
199
+ </li>
200
+
201
+
202
+ <li class="public ">
203
+ <span class="summary_signature">
204
+
205
+ <a href="#stream-instance_method" title="#stream (instance method)">- (Object) <strong>stream</strong> </a>
206
+
207
+
208
+
209
+ </span>
210
+
211
+
212
+ <span class="note title readonly">readonly</span>
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+ <span class="summary_desc"><div class='inline'><p>
222
+ Returns the value of attribute stream.
223
+ </p>
224
+ </div></span>
225
+
172
226
  </li>
173
227
 
174
228
 
@@ -284,6 +338,30 @@ Stores a tweet.
284
338
  </p>
285
339
  </div></span>
286
340
 
341
+ </li>
342
+
343
+
344
+ <li class="public ">
345
+ <span class="summary_signature">
346
+
347
+ <a href="#init_stream-instance_method" title="#init_stream (instance method)">- (Object) <strong>init_stream</strong> </a>
348
+
349
+
350
+
351
+ </span>
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+ <span class="summary_desc"><div class='inline'><p>
361
+ Initializes the TweetStream client.
362
+ </p>
363
+ </div></span>
364
+
287
365
  </li>
288
366
 
289
367
 
@@ -403,7 +481,31 @@ Constructs the appropriate series of mentions for a reply to this tweet.
403
481
 
404
482
 
405
483
  <span class="summary_desc"><div class='inline'><p>
406
- Starts our TweetStream client running.
484
+ Starts our TweetStream client running in a new process.
485
+ </p>
486
+ </div></span>
487
+
488
+ </li>
489
+
490
+
491
+ <li class="public ">
492
+ <span class="summary_signature">
493
+
494
+ <a href="#run_stream-instance_method" title="#run_stream (instance method)">- (Object) <strong>run_stream</strong> </a>
495
+
496
+
497
+
498
+ </span>
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+ <span class="summary_desc"><div class='inline'><p>
508
+ Runs the TweetStream client.
407
509
  </p>
408
510
  </div></span>
409
511
 
@@ -431,6 +533,30 @@ Sends a Twitter-sourced Response to the appropriate target.
431
533
  </p>
432
534
  </div></span>
433
535
 
536
+ </li>
537
+
538
+
539
+ <li class="public ">
540
+ <span class="summary_signature">
541
+
542
+ <a href="#stop-instance_method" title="#stop (instance method)">- (Object) <strong>stop</strong> </a>
543
+
544
+
545
+
546
+ </span>
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+ <span class="summary_desc"><div class='inline'><p>
556
+ Shut down the TweetStream client.
557
+ </p>
558
+ </div></span>
559
+
434
560
  </li>
435
561
 
436
562
 
@@ -476,21 +602,21 @@ Options are passed straight through to ::TweetStream and ::Twitter, but the
476
602
  <pre class="lines">
477
603
 
478
604
 
479
- 265
480
- 266
481
- 267
482
- 268
483
- 269
484
- 270
485
- 271
486
- 272
487
- 273
488
- 274
489
- 275
490
- 276</pre>
605
+ 283
606
+ 284
607
+ 285
608
+ 286
609
+ 287
610
+ 288
611
+ 289
612
+ 290
613
+ 291
614
+ 292
615
+ 293
616
+ 294</pre>
491
617
  </td>
492
618
  <td>
493
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 265</span>
619
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 283</span>
494
620
 
495
621
  <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>
496
622
  <span class='id defaults'>defaults</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:username</span> <span class='op'>=&gt;</span> <span class='kw'>nil</span><span class='comma'>,</span>
@@ -542,12 +668,12 @@ Returns the value of attribute client
542
668
  <pre class="lines">
543
669
 
544
670
 
545
- 159
546
671
  160
547
- 161</pre>
672
+ 161
673
+ 162</pre>
548
674
  </td>
549
675
  <td>
550
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 159</span>
676
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 160</span>
551
677
 
552
678
  <span class='kw'>def</span> <span class='id client'>client</span>
553
679
  <span class='ivar'>@client</span>
@@ -585,12 +711,12 @@ Returns the value of attribute opts
585
711
  <pre class="lines">
586
712
 
587
713
 
588
- 159
589
714
  160
590
- 161</pre>
715
+ 161
716
+ 162</pre>
591
717
  </td>
592
718
  <td>
593
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 159</span>
719
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 160</span>
594
720
 
595
721
  <span class='kw'>def</span> <span class='id opts'>opts</span>
596
722
  <span class='ivar'>@opts</span>
@@ -601,6 +727,92 @@ Returns the value of attribute opts
601
727
  </div>
602
728
 
603
729
 
730
+ <span id=""></span>
731
+ <span id="pid-instance_method"></span>
732
+ <div class="method_details ">
733
+ <p class="signature " id="pid-instance_method">
734
+
735
+ - (<tt>Object</tt>) <strong>pid</strong> <span class="extras">(readonly)</span>
736
+
737
+
738
+
739
+ </p><div class="docstring">
740
+ <div class="discussion">
741
+ <p>
742
+ Returns the value of attribute pid
743
+ </p>
744
+
745
+
746
+ </div>
747
+ </div>
748
+ <div class="tags">
749
+
750
+
751
+ </div><table class="source_code">
752
+ <tr>
753
+ <td>
754
+ <pre class="lines">
755
+
756
+
757
+ 160
758
+ 161
759
+ 162</pre>
760
+ </td>
761
+ <td>
762
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 160</span>
763
+
764
+ <span class='kw'>def</span> <span class='id pid'>pid</span>
765
+ <span class='ivar'>@pid</span>
766
+ <span class='kw'>end</span></pre>
767
+ </td>
768
+ </tr>
769
+ </table>
770
+ </div>
771
+
772
+
773
+ <span id=""></span>
774
+ <span id="stream-instance_method"></span>
775
+ <div class="method_details ">
776
+ <p class="signature " id="stream-instance_method">
777
+
778
+ - (<tt>Object</tt>) <strong>stream</strong> <span class="extras">(readonly)</span>
779
+
780
+
781
+
782
+ </p><div class="docstring">
783
+ <div class="discussion">
784
+ <p>
785
+ Returns the value of attribute stream
786
+ </p>
787
+
788
+
789
+ </div>
790
+ </div>
791
+ <div class="tags">
792
+
793
+
794
+ </div><table class="source_code">
795
+ <tr>
796
+ <td>
797
+ <pre class="lines">
798
+
799
+
800
+ 160
801
+ 161
802
+ 162</pre>
803
+ </td>
804
+ <td>
805
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 160</span>
806
+
807
+ <span class='kw'>def</span> <span class='id stream'>stream</span>
808
+ <span class='ivar'>@stream</span>
809
+ <span class='kw'>end</span></pre>
810
+ </td>
811
+ </tr>
812
+ </table>
813
+ </div>
814
+
815
+
604
816
  <span id=""></span>
605
817
  <span id="username-instance_method"></span>
606
818
  <div class="method_details ">
@@ -628,12 +840,12 @@ Returns the value of attribute username
628
840
  <pre class="lines">
629
841
 
630
842
 
631
- 159
632
843
  160
633
- 161</pre>
844
+ 161
845
+ 162</pre>
634
846
  </td>
635
847
  <td>
636
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 159</span>
848
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 160</span>
637
849
 
638
850
  <span class='kw'>def</span> <span class='id username'>username</span>
639
851
  <span class='ivar'>@username</span>
@@ -675,13 +887,13 @@ Stores a DM and creates a matching Request as needed.
675
887
  <pre class="lines">
676
888
 
677
889
 
678
- 179
679
890
  180
680
891
  181
681
- 182</pre>
892
+ 182
893
+ 183</pre>
682
894
  </td>
683
895
  <td>
684
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 179</span>
896
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 180</span>
685
897
 
686
898
  <span class='kw'>def</span> <span class='id handle_message'>handle_message</span><span class='lparen'>(</span><span class='id message'>message</span><span class='rparen'>)</span>
687
899
  <span class='kw'>return</span> <span class='kw'>if</span> <span class='id message'>message</span><span class='period'>.</span><span class='id sender'>sender</span><span class='period'>.</span><span class='id screen_name'>screen_name</span> <span class='op'>==</span> <span class='ivar'>@username</span>
@@ -717,12 +929,12 @@ Emit a request event unless the request is already processed.
717
929
  <pre class="lines">
718
930
 
719
931
 
720
- 174
721
932
  175
722
- 176</pre>
933
+ 176
934
+ 177</pre>
723
935
  </td>
724
936
  <td>
725
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 174</span>
937
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 175</span>
726
938
 
727
939
  <span class='kw'>def</span> <span class='id handle_request'>handle_request</span><span class='lparen'>(</span><span class='id req'>req</span><span class='rparen'>)</span>
728
940
  <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> <span class='kw'>unless</span> <span class='id req'>req</span><span class='period'>.</span><span class='id nil?'>nil?</span> <span class='op'>||</span> <span class='id req'>req</span><span class='period'>.</span><span class='id processed'>processed</span>
@@ -758,17 +970,17 @@ Otherwise, emit a :timeline event.
758
970
  <pre class="lines">
759
971
 
760
972
 
761
- 186
762
973
  187
763
974
  188
764
975
  189
765
976
  190
766
977
  191
767
978
  192
768
- 193</pre>
979
+ 193
980
+ 194</pre>
769
981
  </td>
770
982
  <td>
771
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 186</span>
983
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 187</span>
772
984
 
773
985
  <span class='kw'>def</span> <span class='id handle_tweet'>handle_tweet</span><span class='lparen'>(</span><span class='id status'>status</span><span class='rparen'>)</span>
774
986
  <span class='kw'>return</span> <span class='kw'>if</span> <span class='id status'>status</span><span class='period'>.</span><span class='id user'>user</span><span class='period'>.</span><span class='id screen_name'>screen_name</span> <span class='op'>==</span> <span class='ivar'>@username</span>
@@ -781,6 +993,80 @@ Otherwise, emit a :timeline event.
781
993
  </td>
782
994
  </tr>
783
995
  </table>
996
+ </div>
997
+
998
+ <div class="method_details ">
999
+ <p class="signature " id="init_stream-instance_method">
1000
+
1001
+ - (<tt>Object</tt>) <strong>init_stream</strong>
1002
+
1003
+
1004
+
1005
+ </p><div class="docstring">
1006
+ <div class="discussion">
1007
+ <p>
1008
+ Initializes the TweetStream client.
1009
+ </p>
1010
+
1011
+
1012
+ </div>
1013
+ </div>
1014
+ <div class="tags">
1015
+
1016
+
1017
+ </div><table class="source_code">
1018
+ <tr>
1019
+ <td>
1020
+ <pre class="lines">
1021
+
1022
+
1023
+ 227
1024
+ 228
1025
+ 229
1026
+ 230
1027
+ 231
1028
+ 232
1029
+ 233
1030
+ 234
1031
+ 235
1032
+ 236
1033
+ 237
1034
+ 238
1035
+ 239
1036
+ 240
1037
+ 241
1038
+ 242
1039
+ 243
1040
+ 244
1041
+ 245
1042
+ 246</pre>
1043
+ </td>
1044
+ <td>
1045
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 227</span>
1046
+
1047
+ <span class='kw'>def</span> <span class='id init_stream'>init_stream</span>
1048
+ <span class='ivar'>@stream</span> <span class='op'>=</span> <span class='const'>TweetStream</span><span class='op'>::</span><span class='const'>Client</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='ivar'>@opts</span><span class='rparen'>)</span>
1049
+
1050
+ <span class='ivar'>@stream</span><span class='period'>.</span><span class='id on_direct_message'>on_direct_message</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id message'>message</span><span class='op'>|</span>
1051
+ <span class='id req'>req</span> <span class='op'>=</span> <span class='id handle_message'>handle_message</span><span class='lparen'>(</span><span class='id message'>message</span><span class='rparen'>)</span>
1052
+ <span class='id handle_request'>handle_request</span><span class='lparen'>(</span><span class='id req'>req</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id req'>req</span><span class='period'>.</span><span class='id is_a?'>is_a?</span> <span class='const'>Request</span>
1053
+ <span class='kw'>end</span>
1054
+
1055
+ <span class='ivar'>@stream</span><span class='period'>.</span><span class='id on_error'>on_error</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id err'>err</span><span class='op'>|</span>
1056
+ <span class='kw'>if</span> <span class='id err'>err</span><span class='period'>.</span><span class='id match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>invalid status code: 401</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
1057
+ <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'>TweetStream authentication failure!</span><span class='tstring_end'>&quot;</span></span>
1058
+ <span class='kw'>else</span>
1059
+ <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'>Unhandled TweetStream error: </span><span class='embexpr_beg'>#{</span><span class='id error_report'>error_report</span><span class='lparen'>(</span><span class='gvar'>$!</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1060
+ <span class='kw'>end</span>
1061
+ <span class='kw'>end</span>
1062
+
1063
+ <span class='ivar'>@stream</span><span class='period'>.</span><span class='id on_inited'>on_inited</span> <span class='kw'>do</span>
1064
+ <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='tstring_content'>TweetStream client is online at @</span><span class='embexpr_beg'>#{</span><span class='ivar'>@username</span><span class='rbrace'>}</span><span class='tstring_content'> :3</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1065
+ <span class='kw'>end</span>
1066
+ <span class='kw'>end</span></pre>
1067
+ </td>
1068
+ </tr>
1069
+ </table>
784
1070
  </div>
785
1071
 
786
1072
  <div class="method_details ">
@@ -810,7 +1096,6 @@ offline.
810
1096
  <pre class="lines">
811
1097
 
812
1098
 
813
- 209
814
1099
  210
815
1100
  211
816
1101
  212
@@ -824,10 +1109,11 @@ offline.
824
1109
  220
825
1110
  221
826
1111
  222
827
- 223</pre>
1112
+ 223
1113
+ 224</pre>
828
1114
  </td>
829
1115
  <td>
830
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 209</span>
1116
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 210</span>
831
1117
 
832
1118
  <span class='kw'>def</span> <span class='id pull'>pull</span>
833
1119
  <span class='kw'>begin</span>
@@ -841,7 +1127,7 @@ offline.
841
1127
  <span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Twitter</span><span class='op'>::</span><span class='const'>Error</span><span class='op'>::</span><span class='const'>ServiceUnavailable</span>
842
1128
  <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'>Twitter: Couldn't pull tweets due to temporary service unavailability.</span><span class='tstring_end'>&quot;</span></span>
843
1129
  <span class='kw'>rescue</span> <span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id e'>e</span>
844
- <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'>Twitter: Unhandled error: </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>
1130
+ <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'>Twitter: Unhandled error: </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>
845
1131
  <span class='kw'>end</span>
846
1132
  <span class='kw'>end</span></pre>
847
1133
  </td>
@@ -912,12 +1198,12 @@ The response text.
912
1198
  <pre class="lines">
913
1199
 
914
1200
 
915
- 203
916
1201
  204
917
- 205</pre>
1202
+ 205
1203
+ 206</pre>
918
1204
  </td>
919
1205
  <td>
920
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 203</span>
1206
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 204</span>
921
1207
 
922
1208
  <span class='kw'>def</span> <span class='id reply'>reply</span><span class='lparen'>(</span><span class='id tweet'>tweet</span><span class='comma'>,</span> <span class='id text'>text</span><span class='rparen'>)</span>
923
1209
  <span class='ivar'>@client</span><span class='period'>.</span><span class='id update'>update</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id reply_header'>reply_header</span><span class='lparen'>(</span><span class='id tweet'>tweet</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_content'> </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='comma'>,</span> <span class='symbol'>:in_reply_to_status_id</span> <span class='op'>=&gt;</span> <span class='id tweet'>tweet</span><span class='period'>.</span><span class='id raw'>raw</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>id</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
@@ -952,12 +1238,12 @@ Constructs the appropriate series of mentions for a reply to this tweet.
952
1238
  <pre class="lines">
953
1239
 
954
1240
 
955
- 196
956
1241
  197
957
- 198</pre>
1242
+ 198
1243
+ 199</pre>
958
1244
  </td>
959
1245
  <td>
960
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 196</span>
1246
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 197</span>
961
1247
 
962
1248
  <span class='kw'>def</span> <span class='id reply_header'>reply_header</span><span class='lparen'>(</span><span class='id tweet'>tweet</span><span class='rparen'>)</span>
963
1249
  <span class='lparen'>(</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='id tweet'>tweet</span><span class='period'>.</span><span class='id username'>username</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='lparen'>(</span><span class='id tweet'>tweet</span><span class='period'>.</span><span class='id header_mentions'>header_mentions</span> <span class='op'>-</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='ivar'>@username</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id join'>join</span>
@@ -977,7 +1263,55 @@ Constructs the appropriate series of mentions for a reply to this tweet.
977
1263
  </p><div class="docstring">
978
1264
  <div class="discussion">
979
1265
  <p>
980
- Starts our TweetStream client running.
1266
+ Starts our TweetStream client running in a new process.
1267
+ </p>
1268
+
1269
+
1270
+ </div>
1271
+ </div>
1272
+ <div class="tags">
1273
+
1274
+
1275
+ </div><table class="source_code">
1276
+ <tr>
1277
+ <td>
1278
+ <pre class="lines">
1279
+
1280
+
1281
+ 267
1282
+ 268
1283
+ 269
1284
+ 270
1285
+ 271
1286
+ 272
1287
+ 273</pre>
1288
+ </td>
1289
+ <td>
1290
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 267</span>
1291
+
1292
+ <span class='kw'>def</span> <span class='id run'>run</span>
1293
+ <span class='ivar'>@pid</span> <span class='op'>=</span> <span class='const'>Process</span><span class='period'>.</span><span class='id fork'>fork</span> <span class='kw'>do</span>
1294
+ <span class='const'>Signal</span><span class='period'>.</span><span class='id trap'>trap</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>TERM</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id stop'>stop</span> <span class='rbrace'>}</span>
1295
+ <span class='id init_stream'>init_stream</span>
1296
+ <span class='id run_stream'>run_stream</span>
1297
+ <span class='kw'>end</span>
1298
+ <span class='kw'>end</span></pre>
1299
+ </td>
1300
+ </tr>
1301
+ </table>
1302
+ </div>
1303
+
1304
+ <div class="method_details ">
1305
+ <p class="signature " id="run_stream-instance_method">
1306
+
1307
+ - (<tt>Object</tt>) <strong>run_stream</strong>
1308
+
1309
+
1310
+
1311
+ </p><div class="docstring">
1312
+ <div class="discussion">
1313
+ <p>
1314
+ Runs the TweetStream client.
981
1315
  </p>
982
1316
 
983
1317
 
@@ -992,29 +1326,6 @@ Starts our TweetStream client running.
992
1326
  <pre class="lines">
993
1327
 
994
1328
 
995
- 226
996
- 227
997
- 228
998
- 229
999
- 230
1000
- 231
1001
- 232
1002
- 233
1003
- 234
1004
- 235
1005
- 236
1006
- 237
1007
- 238
1008
- 239
1009
- 240
1010
- 241
1011
- 242
1012
- 243
1013
- 244
1014
- 245
1015
- 246
1016
- 247
1017
- 248
1018
1329
  249
1019
1330
  250
1020
1331
  251
@@ -1027,46 +1338,29 @@ Starts our TweetStream client running.
1027
1338
  258
1028
1339
  259
1029
1340
  260
1030
- 261</pre>
1341
+ 261
1342
+ 262
1343
+ 263
1344
+ 264</pre>
1031
1345
  </td>
1032
1346
  <td>
1033
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 226</span>
1034
-
1035
- <span class='kw'>def</span> <span class='id run'>run</span>
1036
- <span class='const'>Fiber</span><span class='period'>.</span><span class='id new'>new</span> <span class='kw'>do</span>
1037
- <span class='ivar'>@stream</span> <span class='op'>=</span> <span class='const'>TweetStream</span><span class='op'>::</span><span class='const'>Client</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='ivar'>@opts</span><span class='rparen'>)</span>
1038
-
1039
- <span class='ivar'>@stream</span><span class='period'>.</span><span class='id on_direct_message'>on_direct_message</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id message'>message</span><span class='op'>|</span>
1040
- <span class='id dm'>dm</span> <span class='op'>=</span> <span class='id handle_message'>handle_message</span><span class='lparen'>(</span><span class='id message'>message</span><span class='rparen'>)</span>
1041
- <span class='id handle_request'>handle_request</span><span class='lparen'>(</span><span class='id dm'>dm</span><span class='period'>.</span><span class='id request'>request</span><span class='rparen'>)</span>
1042
- <span class='kw'>end</span>
1347
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 249</span>
1043
1348
 
1044
- <span class='ivar'>@stream</span><span class='period'>.</span><span class='id on_error'>on_error</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id err'>err</span><span class='op'>|</span>
1045
- <span class='comment'># HACK (Mispy): For some reason this is a String instead of an Exception.
1046
- </span><span class='kw'>if</span> <span class='id err'>err</span><span class='period'>.</span><span class='id match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>invalid status code: 401</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
1047
- <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'>TweetStream authentication failure!</span><span class='tstring_end'>&quot;</span></span>
1048
- <span class='kw'>else</span>
1049
- <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'>Unhandled TweetStream error: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$!</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='gvar'>$@</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1050
- <span class='kw'>end</span>
1349
+ <span class='kw'>def</span> <span class='id run_stream'>run_stream</span>
1350
+ <span class='kw'>begin</span>
1351
+ <span class='ivar'>@stream</span><span class='period'>.</span><span class='id userstream'>userstream</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id status'>status</span><span class='op'>|</span>
1352
+ <span class='id req'>req</span> <span class='op'>=</span> <span class='id handle_tweet'>handle_tweet</span><span class='lparen'>(</span><span class='id status'>status</span><span class='rparen'>)</span>
1353
+ <span class='id handle_request'>handle_request</span><span class='lparen'>(</span><span class='id req'>req</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id req'>req</span><span class='period'>.</span><span class='id is_a?'>is_a?</span> <span class='const'>Request</span>
1051
1354
  <span class='kw'>end</span>
1052
-
1053
- <span class='kw'>begin</span>
1054
- <span class='ivar'>@stream</span><span class='period'>.</span><span class='id userstream'>userstream</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id status'>status</span><span class='op'>|</span>
1055
- <span class='id tweet'>tweet</span> <span class='op'>=</span> <span class='id handle_tweet'>handle_tweet</span><span class='lparen'>(</span><span class='id status'>status</span><span class='rparen'>)</span>
1056
- <span class='id handle_request'>handle_request</span><span class='lparen'>(</span><span class='id tweet'>tweet</span><span class='period'>.</span><span class='id request'>request</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id tweet'>tweet</span><span class='period'>.</span><span class='id is_a?'>is_a?</span> <span class='const'>Tweet</span>
1057
- <span class='kw'>end</span>
1058
- <span class='kw'>rescue</span> <span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id e'>e</span>
1059
- <span class='kw'>if</span> <span class='id e'>e</span><span class='period'>.</span><span class='id is_a?'>is_a?</span> <span class='const'>Interrupt</span>
1060
- <span class='id exit'>exit</span>
1061
- <span class='kw'>else</span>
1062
- <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'>TweetStream event loop exited: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$!</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='gvar'>$@</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1063
- <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'>Reinitialising TweetStream in 5 seconds.</span><span class='tstring_end'>&quot;</span></span>
1064
- <span class='const'>EM</span><span class='op'>::</span><span class='const'>Timer</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='int'>5</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id run'>run</span> <span class='rbrace'>}</span>
1065
- <span class='kw'>end</span>
1355
+ <span class='kw'>rescue</span> <span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id e'>e</span>
1356
+ <span class='kw'>unless</span> <span class='id e'>e</span><span class='period'>.</span><span class='id is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Interrupt</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id e'>e</span><span class='period'>.</span><span class='id is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>SignalException</span><span class='rparen'>)</span>
1357
+ <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'>TweetStream client exited unexpectedly: </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>
1358
+ <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'>Restarting TweetStream client in 5 seconds.</span><span class='tstring_end'>&quot;</span></span>
1359
+ <span class='id sleep'>sleep</span> <span class='int'>5</span><span class='semicolon'>;</span> <span class='id init_stream'>init_stream</span><span class='semicolon'>;</span> <span class='id run_stream'>run_stream</span>
1066
1360
  <span class='kw'>end</span>
1067
-
1068
- <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='tstring_content'>Twitter client is online at @</span><span class='embexpr_beg'>#{</span><span class='ivar'>@username</span><span class='rbrace'>}</span><span class='tstring_content'> :3</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1069
- <span class='kw'>end</span><span class='period'>.</span><span class='id resume'>resume</span>
1361
+ <span class='kw'>else</span>
1362
+ <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='tstring_content'>TweetStream client shutdown complete.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1363
+ <span class='kw'>end</span>
1070
1364
  <span class='kw'>end</span></pre>
1071
1365
  </td>
1072
1366
  </tr>
@@ -1098,7 +1392,6 @@ Sends a Twitter-sourced Response to the appropriate target.
1098
1392
  <pre class="lines">
1099
1393
 
1100
1394
 
1101
- 162
1102
1395
  163
1103
1396
  164
1104
1397
  165
@@ -1107,10 +1400,11 @@ Sends a Twitter-sourced Response to the appropriate target.
1107
1400
  168
1108
1401
  169
1109
1402
  170
1110
- 171</pre>
1403
+ 171
1404
+ 172</pre>
1111
1405
  </td>
1112
1406
  <td>
1113
- <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 162</span>
1407
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 163</span>
1114
1408
 
1115
1409
  <span class='kw'>def</span> <span class='id send'>send</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='rparen'>)</span>
1116
1410
  <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>
@@ -1125,6 +1419,48 @@ Sends a Twitter-sourced Response to the appropriate target.
1125
1419
  </td>
1126
1420
  </tr>
1127
1421
  </table>
1422
+ </div>
1423
+
1424
+ <div class="method_details ">
1425
+ <p class="signature " id="stop-instance_method">
1426
+
1427
+ - (<tt>Object</tt>) <strong>stop</strong>
1428
+
1429
+
1430
+
1431
+ </p><div class="docstring">
1432
+ <div class="discussion">
1433
+ <p>
1434
+ Shut down the TweetStream client.
1435
+ </p>
1436
+
1437
+
1438
+ </div>
1439
+ </div>
1440
+ <div class="tags">
1441
+
1442
+
1443
+ </div><table class="source_code">
1444
+ <tr>
1445
+ <td>
1446
+ <pre class="lines">
1447
+
1448
+
1449
+ 276
1450
+ 277
1451
+ 278
1452
+ 279</pre>
1453
+ </td>
1454
+ <td>
1455
+ <pre class="code"><span class="info file"># File 'lib/safubot/twitter.rb', line 276</span>
1456
+
1457
+ <span class='kw'>def</span> <span class='id stop'>stop</span>
1458
+ <span class='ivar'>@stream</span><span class='period'>.</span><span class='id stop'>stop</span> <span class='kw'>if</span> <span class='ivar'>@stream</span>
1459
+ <span class='const'>Process</span><span class='period'>.</span><span class='id kill'>kill</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>TERM</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='ivar'>@pid</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@pid</span>
1460
+ <span class='kw'>end</span></pre>
1461
+ </td>
1462
+ </tr>
1463
+ </table>
1128
1464
  </div>
1129
1465
 
1130
1466
  </div>
@@ -1132,7 +1468,7 @@ Sends a Twitter-sourced Response to the appropriate target.
1132
1468
  </div>
1133
1469
 
1134
1470
  <div id="footer">
1135
- Generated on Mon Nov 28 20:20:04 2011 by
1471
+ Generated on Tue Nov 29 11:44:04 2011 by
1136
1472
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1137
1473
  0.7.3 (ruby-1.9.2).
1138
1474
  </div>