roflbot 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/.gitmodules +3 -0
  2. data/Rakefile +1 -0
  3. data/VERSION +1 -1
  4. data/lib/roflbot.rb +1 -0
  5. data/lib/roflbot/base.rb +42 -25
  6. data/roflbot.gemspec +31 -3
  7. data/test/helper.rb +10 -0
  8. data/test/roflbot/test_base.rb +24 -0
  9. data/vendor/gvoice-ruby/Gemfile +11 -0
  10. data/vendor/gvoice-ruby/README.rdoc +71 -0
  11. data/vendor/gvoice-ruby/Rakefile +12 -0
  12. data/vendor/gvoice-ruby/VERSION +1 -0
  13. data/vendor/gvoice-ruby/bin/gv-notifier +75 -0
  14. data/vendor/gvoice-ruby/bin/gv-place-call +18 -0
  15. data/vendor/gvoice-ruby/bin/gv-send-sms +12 -0
  16. data/vendor/gvoice-ruby/config/gvoice-ruby-config.yml.sample +10 -0
  17. data/vendor/gvoice-ruby/lib/gvoice-ruby.rb +6 -0
  18. data/vendor/gvoice-ruby/lib/gvoice-ruby/call.rb +9 -0
  19. data/vendor/gvoice-ruby/lib/gvoice-ruby/client.rb +264 -0
  20. data/vendor/gvoice-ruby/lib/gvoice-ruby/compatibility.rb +37 -0
  21. data/vendor/gvoice-ruby/lib/gvoice-ruby/config.rb +39 -0
  22. data/vendor/gvoice-ruby/lib/gvoice-ruby/inbox_parser.rb +126 -0
  23. data/vendor/gvoice-ruby/lib/gvoice-ruby/sms.rb +9 -0
  24. data/vendor/gvoice-ruby/lib/gvoice-ruby/user.rb +12 -0
  25. data/vendor/gvoice-ruby/lib/gvoice-ruby/voicemail.rb +10 -0
  26. data/vendor/gvoice-ruby/test/client_test.rb +45 -0
  27. data/vendor/gvoice-ruby/test/config_test.rb +37 -0
  28. data/vendor/gvoice-ruby/test/fixtures/config_fixture.yml +10 -0
  29. data/vendor/gvoice-ruby/test/fixtures/inbox.json +1 -0
  30. data/vendor/gvoice-ruby/test/fixtures/inbox.yml +206 -0
  31. data/vendor/gvoice-ruby/test/fixtures/inbox_fixture.html +2854 -0
  32. data/vendor/gvoice-ruby/test/fixtures/login_fixture.html +567 -0
  33. data/vendor/gvoice-ruby/test/gvoice-ruby_test.rb +9 -0
  34. data/vendor/gvoice-ruby/test/inbox_parser_test.rb +54 -0
  35. data/vendor/gvoice-ruby/test/test_helper.rb +19 -0
  36. metadata +31 -3
@@ -0,0 +1,567 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <style type="text/css"><!--
4
+ body,td,div,p,a,font,span {font-family: arial,sans-serif;}
5
+ body {margin-top:2}.c {width:4; height: 4}
6
+ html body { bgcolor: "#ffffff"; padding: 0; margin: 0; }
7
+ A:link {color:#0000cc; }
8
+ A:visited { color:#551a8b; }
9
+ A:active { color:#ff0000; }
10
+ .form-noindent {background-color: #ffffff; border: #C3D9FF 1px solid;}
11
+
12
+ div { display: block; }
13
+
14
+ div.loginBox {
15
+ padding-top: 10px;
16
+ padding-bottom: 16px;
17
+ }
18
+
19
+ #gc-signup-closed {
20
+ background-color: #ffffcd;
21
+ width: 600px;
22
+ font-size: 13px;
23
+ margin-top: 30px;
24
+ padding: 10px;
25
+ text-align: center;
26
+ }
27
+
28
+ #gaia_table {
29
+ white-space: normal;
30
+ text-align: left;
31
+ }
32
+
33
+ .gc-mid {
34
+ width: 806px;
35
+ margin: 0 auto;
36
+ }
37
+
38
+ #gc-footer {
39
+ padding: 60px 0 0 0;
40
+ }
41
+
42
+ #gc-footer a,
43
+ #gc-more a {
44
+ color: #3b73cc;
45
+ }
46
+
47
+ #gc-main {
48
+ width: 100%;
49
+ }
50
+
51
+ #gc-main td {
52
+ text-align: left;
53
+ }
54
+
55
+ #gc-banner {
56
+ display: block;
57
+ height: 90px;
58
+ background-color: #E0ECFF;
59
+ border-top: 1px solid #C3D9FF;
60
+ border-bottom: 1px solid #C3D9FF;
61
+ text-align: left;
62
+ }
63
+
64
+ #gc-banner-content {
65
+ height: 90px;
66
+ position: relative;
67
+ }
68
+
69
+ #gc-banner-low {
70
+ margin: 14px 0 0 0;
71
+ }
72
+
73
+ #gc-watch {
74
+ color: #3b73cc;
75
+ text-decoration: none;
76
+ font-size: 14px;
77
+ font-weight: bold;
78
+ padding: 3px 0 3px 30px;
79
+ background: url(/accounts/grandcentral/movie_button.gif) no-repeat center left;
80
+ }
81
+
82
+ #gc-create-acc {
83
+ position: absolute;
84
+ top: -100px;
85
+ right: 0px;
86
+ }
87
+
88
+ .gc-features {
89
+ width: 528px;
90
+ color: #666;
91
+ margin: 16px 0 10px 0;
92
+ }
93
+
94
+ .gc-features td {
95
+ vertical-align: top;
96
+ padding: 8px 0;
97
+ }
98
+
99
+ .gc-sep {
100
+ border-right: 1px solid #ccc;
101
+ }
102
+
103
+ .gc-item-hd {
104
+ font-weight: bold;
105
+ font-size: 14px;
106
+ }
107
+
108
+ .gc-item-txt {
109
+ font-size: 12px;
110
+ padding: 4px 0 16px;
111
+ }
112
+
113
+ .gc-item-details {
114
+ width: 268px;
115
+ }
116
+
117
+ .gc-item-img {
118
+ width: 68px;
119
+ float: left;
120
+ }
121
+
122
+ .gc-item-list {
123
+ width: 200px;
124
+ float: right;
125
+ }
126
+
127
+ ul.gc-signup-list {
128
+ margin: 0 0 0 24px;
129
+ padding: 0;
130
+ font-size: 12px;
131
+ }
132
+
133
+ ul.gc-signup-list li {
134
+ line-height: 1.4em;
135
+ padding: 0 0 0.5em;
136
+ }
137
+
138
+ #gc-more {
139
+ padding: 10px 0 0 2px;
140
+ text-align: left;
141
+ }
142
+
143
+ .gc-nopad {
144
+ padding: 0;
145
+ }
146
+
147
+ .gc-si-content {
148
+ position: absolute;
149
+ top: -70px;
150
+ right: 2px;
151
+ height: 248px;
152
+ white-space: normal;
153
+ width: 248px;
154
+ z-index: 8;
155
+ }
156
+
157
+ --></style>
158
+ <style type="text/css"><!--
159
+ .gaia.le.lbl { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
160
+ .gaia.le.fpwd { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
161
+ .gaia.le.chusr { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
162
+ .gaia.le.val { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
163
+ .gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
164
+ .gaia.le.rem { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
165
+
166
+ .gaia.captchahtml.desc { font-family: arial, sans-serif; font-size: smaller; }
167
+ .gaia.captchahtml.cmt { font-family: arial, sans-serif; font-size: smaller; font-style: italic; }
168
+
169
+ --></style>
170
+ <head>
171
+ <title>Google Voice - One phone number, online voicemail, and enhanced call features</title>
172
+ <style type="text/css"><!--
173
+
174
+
175
+ body {
176
+ font-family: arial, sans-serif;
177
+ margin: 0;
178
+ padding: 13px 15px 15px;
179
+
180
+ }
181
+ .body {
182
+ margin: 0;
183
+ }
184
+ div.errorbox-good {}
185
+
186
+ div.errorbox-bad {}
187
+
188
+ div.errormsg { color: red; font-size: smaller; font-family: arial,sans-serif;}
189
+ font.errormsg { color: red; font-size: smaller; font-family: arial,sans-serif;}
190
+
191
+
192
+ div.topbar {
193
+ font-size:smaller;
194
+ margin-right: -5px;
195
+ text-align:right;
196
+ white-space:nowrap;
197
+ }
198
+ div.header {
199
+ margin-bottom: 9px;
200
+ margin-left: -2px;
201
+ position:relative;
202
+ zoom: 1
203
+ }
204
+ div.header img.logo {
205
+ border: 0;
206
+ float:left;
207
+ }
208
+ div.header div.headercontent {
209
+ float:right;
210
+ margin-top:17px;
211
+ }
212
+ div.header:after{
213
+ content:".";
214
+ display:block;
215
+ height:0;
216
+ clear:both;
217
+ visibility:hidden;
218
+ }
219
+ div.pagetitle {
220
+ font-weight:bold;
221
+ }
222
+
223
+ .footer {
224
+ color: #666;
225
+ font-size: smaller;
226
+ margin-top: 40px;
227
+ text-align: center;
228
+ }
229
+
230
+ table#signupform {
231
+ left: -5px;
232
+ top: -7px;
233
+ position:relative;
234
+ }
235
+ table#signupform td{
236
+ padding: 7px 5px;
237
+ }
238
+ table#signupform td table td{
239
+ padding: 1px;
240
+ }
241
+
242
+
243
+
244
+ hr {
245
+ border: 0;
246
+ background-color:#DDDDDD;
247
+ height: 1px;
248
+ width: 100%;
249
+ text-align: left;
250
+ margin: 5px;
251
+ }
252
+
253
+
254
+
255
+
256
+ --></style>
257
+ <meta name="description" content="Google Voice gives you one number for all your phones, voicemail as easy as email, free US long distance, low rates on international calls, and many calling features like transcripts, call blocking, call screening, conference calling, SMS, and more.">
258
+ </head>
259
+ <body dir="ltr"
260
+ onload=
261
+ "gaia_setFocus();"
262
+ >
263
+ <div class="gc-mid">
264
+ <div style="padding: 20px 0 6px 0;">
265
+ <a href='https://www.google.com/voice'>
266
+ <img src="/accounts/grandcentral/voice-logo.png"
267
+ border="0"
268
+ alt="Google Voice" />
269
+ </a>
270
+ </div>
271
+ </div>
272
+ <div id="gc-banner">
273
+ <table id="gc-banner-content" class="gc-mid">
274
+ <tr>
275
+ <td>
276
+ <div><img alt="Supercharge your phone" src="/accounts/grandcentral/banner1.png"/></div>
277
+ </td>
278
+ </tr>
279
+ </table>
280
+ </div>
281
+ <div class="gc-mid" style="position: relative;">
282
+ <table class="gc-features">
283
+ <tr>
284
+ <td class="gc-sep" style="padding-right: 0;">
285
+ <div class="gc-item-hd">Use your existing number</div>
286
+ <div class="gc-item-txt">and get these features:</div>
287
+ <div class="gc-item-details">
288
+ <div class="gc-item-img"><img src="/accounts/grandcentral/gvl.png" alt=""/></div>
289
+ <div class="gc-item-list">
290
+ <ul class="gc-signup-list">
291
+ <li><b>Transcribed voicemail</b> online</li>
292
+ <li>Low cost <b>international calls</b></li>
293
+ <li><b>Custom greetings</b> for callers</li>
294
+ </ul>
295
+ </div>
296
+ </div>
297
+ </td>
298
+ <td style="padding-left: 8px;">
299
+ <div class="gc-item-hd">Get a Google number</div>
300
+ <div class="gc-item-txt">and get these additional features:</div>
301
+ <div class="gc-item-details">
302
+ <div class="gc-item-img"><img src="/accounts/grandcentral/gv.png" alt=""/></div>
303
+ <div class="gc-item-list">
304
+ <ul class="gc-signup-list">
305
+ <li><b>One number</b> for all your phones</li>
306
+ <li>Get <b>SMS messages</b> via email</li>
307
+ <li><b>Block</b> unwanted callers</li>
308
+ </ul>
309
+ </div>
310
+ </div>
311
+ </td>
312
+ </tr>
313
+ </table>
314
+ <div class="gc-si-content">
315
+ <script><!--
316
+
317
+ function gaia_onLoginSubmit() {
318
+
319
+
320
+ if (window.gaiacb_onLoginSubmit) {
321
+ return gaiacb_onLoginSubmit();
322
+ } else {
323
+ return true;
324
+ }
325
+
326
+ }
327
+
328
+
329
+ function gaia_setFocus() {
330
+ var f = null;
331
+ if (document.getElementById) {
332
+ f = document.getElementById("gaia_loginform");
333
+ } else if (window.gaia_loginform) {
334
+ f = window.gaia_loginform;
335
+ }
336
+ if (f) {
337
+ if (f.Email && (f.Email.value == null || f.Email.value == "")) {
338
+ f.Email.focus();
339
+ } else if (f.Passwd) {
340
+ f.Passwd.focus();
341
+ }
342
+ }
343
+ }
344
+ --></script>
345
+ <style type="text/css"><!--
346
+ div.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; }
347
+ font.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; }
348
+ --></style>
349
+ <style type="text/css"><!--
350
+ .gaia.le.lbl { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
351
+ .gaia.le.fpwd { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
352
+ .gaia.le.chusr { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
353
+ .gaia.le.val { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
354
+ .gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
355
+ .gaia.le.rem { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
356
+
357
+ .gaia.captchahtml.desc { font-family: arial, sans-serif; font-size: smaller; }
358
+ .gaia.captchahtml.cmt { font-family: arial, sans-serif; font-size: smaller; font-style: italic; }
359
+
360
+ --></style>
361
+ <form id="gaia_loginform"
362
+
363
+ action="https://www.google.com/accounts/ServiceLoginAuth?service=grandcentral" method="post"
364
+
365
+ onsubmit=
366
+ "return(gaia_onLoginSubmit());"
367
+ >
368
+ <div id="gaia_loginbox">
369
+ <table class="form-noindent" cellspacing="3" cellpadding="5" width="100%" border="0">
370
+ <tr>
371
+ <td valign="top" style="text-align:center" nowrap="nowrap"
372
+ bgcolor="#e8eefa">
373
+ <input type="hidden" name="ltmpl"
374
+ value="bluebar">
375
+ <div class="loginBox">
376
+ <table id="gaia_table" align="center" border="0" cellpadding="1" cellspacing="0">
377
+ <tr>
378
+ <td colspan="2" align="center">
379
+ <font size="-1">
380
+ Sign in to
381
+ Google Voice
382
+ with your
383
+ </font>
384
+ <table>
385
+ <tr>
386
+ <td valign="top">
387
+ <img src="google_transparent.gif"
388
+ alt="Google">
389
+ </img>
390
+ </td>
391
+ <td valign="middle">
392
+ <font size="+0"><b>Account</b></font>
393
+ </td>
394
+ </tr>
395
+ </table>
396
+ </td>
397
+ </tr>
398
+ <script type="text/javascript"><!--
399
+ function onPreCreateAccount() {
400
+
401
+ return true;
402
+
403
+ }
404
+
405
+ function onPreLogin() {
406
+
407
+
408
+ if (window["onlogin"] != null) {
409
+ return onlogin();
410
+ } else {
411
+ return true;
412
+ }
413
+
414
+ }
415
+ --></script>
416
+ <tr>
417
+ <td colspan="2" align="center">
418
+ </td>
419
+ </tr>
420
+ <tr id="email-row">
421
+ <td nowrap="nowrap">
422
+ <div align="right">
423
+ <span class="gaia le lbl">
424
+ Email:
425
+ </span>
426
+ </div>
427
+ </td>
428
+ <td>
429
+ <input type="hidden" name="continue" id="continue"
430
+ value="https://www.google.com/voice/account/signin" />
431
+ <input type="hidden" name="service" id="service"
432
+ value="grandcentral" />
433
+ <input type="hidden" name="dsh" id="dsh"
434
+ value="42373325670724957" />
435
+ <input type="hidden" name="ltmpl" id="ltmpl"
436
+ value="bluebar" />
437
+ <input type="hidden" name="ltmpl" id="ltmpl"
438
+ value="bluebar" />
439
+ <input type="hidden"
440
+ name="GALX"
441
+ value="k0KpPxKzZJw" />
442
+ <input type="text" name="Email" id="Email"
443
+ size="18" value=""
444
+
445
+
446
+ class='gaia le val'
447
+
448
+ />
449
+ </td>
450
+ </tr>
451
+ <tr>
452
+ <td></td>
453
+ <td align="left">
454
+ </td>
455
+ </tr>
456
+ <tr id="password-row" class="enabled">
457
+ <td align="right" nowrap="nowrap">
458
+ <span class="gaia le lbl">
459
+ Password:
460
+ </span>
461
+ </td>
462
+ <td>
463
+ <input type="password"
464
+ name="Passwd" id="Passwd"
465
+ size="18"
466
+
467
+
468
+
469
+
470
+ class="gaia le val"
471
+
472
+ />
473
+ </td>
474
+ </tr>
475
+ <tr>
476
+ <td> </td>
477
+ <td align="left">
478
+ </td>
479
+ </tr>
480
+ <tr id="rememberme-row" class="enabled">
481
+ <td align="right" valign="top">
482
+ <input type="checkbox" name="PersistentCookie" id="PersistentCookie"
483
+ value="yes"
484
+
485
+ checked='checked'
486
+
487
+ />
488
+ <input type="hidden" name='rmShown' value="1" />
489
+ </td>
490
+ <td>
491
+ <label for="PersistentCookie" id="PersistentCookieLabel" class="gaia le rem">
492
+ Stay signed in
493
+ </label>
494
+ </td>
495
+ </tr>
496
+ <tr>
497
+ <td>
498
+ </td>
499
+ <td align="left">
500
+ <input type="submit" class="gaia le button" name="signIn"
501
+ value="Sign in"
502
+ />
503
+ </td>
504
+ </tr>
505
+ <tr id="ga-fprow">
506
+ <td colspan="2" height="33.0" class="gaia le fpwd"
507
+ align="center" valign="bottom">
508
+ <a href="http://www.google.com/support/accounts/bin/answer.py?answer=48598&amp;hl=en&amp;ctx=ch_ServiceLogin&amp;p=grandcentral&amp;fpUrl=https%3A%2F%2Fwww.google.com%2Faccounts%2FForgotPasswd%3FfpOnly%3D1%26continue%3Dhttps%253A%252F%252Fwww.google.com%252Fvoice%252Faccount%252Fsignin%26service%3Dgrandcentral%26ltmpl%3Dbluebar"
509
+ target=_top>
510
+ Can&#39;t access your account?
511
+ </a>
512
+ </td>
513
+ </tr>
514
+ </table>
515
+ </div>
516
+ </td>
517
+ </tr>
518
+ </table>
519
+ </div>
520
+ <input type="hidden" name="asts"
521
+ id="asts"
522
+ value="">
523
+ </form>
524
+ <form id="gaia_universallogin"
525
+ action="https://www.google.com/accounts/ServiceLoginAuth?service=grandcentral" method="post"
526
+ onsubmit="return(gaia_onLoginSubmit());">
527
+ <input type="hidden" name="continue" id="continue"
528
+ value="https://www.google.com/voice/account/signin" />
529
+ <input type="hidden" name="service" id="service"
530
+ value="grandcentral" />
531
+ <input type="hidden" name="dsh" id="dsh"
532
+ value="42373325670724957" />
533
+ <input type="hidden" name="ltmpl" id="ltmpl"
534
+ value="bluebar" />
535
+ <input type="hidden" name="ltmpl" id="ltmpl"
536
+ value="bluebar" />
537
+ <input type="hidden" name="ltmpl" id="ltmpl"
538
+ value="bluebar" />
539
+ </form>
540
+ </div>
541
+ </div>
542
+ <div class="gc-mid" id="gc-more">
543
+ <a style="font-weight: bold; font-size: 13px;"
544
+ href="https://www.google.com/voice/about"
545
+ >See more features <span style="font-size: 16px;">&raquo;</span></a>
546
+ </div>
547
+ <div class="gc-mid" id="gc-signup-closed">
548
+ Google Voice is currently available by invite only.&nbsp;&nbsp;
549
+ <a href="https://services.google.com/fb/forms/googlevoiceinvite/" target="_blank">Request an invite</a>
550
+ </div>
551
+ <div id="gc-footer" class="gc-mid">
552
+ <div style="border-top: 1px solid #C3D9FF; margin: 0pt 3px; padding: 4px;">
553
+ <center>
554
+ <font color="#676767" size="-1">
555
+ &copy;2010 Google
556
+ -
557
+ <a href='http://www.google.com/support/voice/'>Help</a>
558
+ -
559
+ <a href='https://www.google.com/voice/help'>Terms</a>
560
+ -
561
+ <a href='http://googlevoiceblog.blogspot.com/'>Blog</a>
562
+ </font>
563
+ </center>
564
+ </div>
565
+ </div>
566
+ </body>
567
+ </html>