table_setter 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. data/.document +5 -0
  2. data/.gitignore +20 -0
  3. data/LICENSE +20 -0
  4. data/README +10 -0
  5. data/Rakefile +66 -0
  6. data/TODO +3 -0
  7. data/VERSION.yml +5 -0
  8. data/bin/table-setter +5 -0
  9. data/doc/TableFu/Formatting.html +178 -0
  10. data/doc/TableSetter/App.html +176 -0
  11. data/doc/TableSetter/Command.html +376 -0
  12. data/doc/TableSetter/Table.html +1813 -0
  13. data/doc/TableSetter.html +292 -0
  14. data/doc/_index.html +146 -0
  15. data/doc/class_list.html +36 -0
  16. data/doc/css/common.css +1 -0
  17. data/doc/css/full_list.css +50 -0
  18. data/doc/css/style.css +268 -0
  19. data/doc/file.README.html +68 -0
  20. data/doc/file_list.html +38 -0
  21. data/doc/frames.html +13 -0
  22. data/doc/index.html +68 -0
  23. data/doc/js/app.js +99 -0
  24. data/doc/js/full_list.js +106 -0
  25. data/doc/js/jquery.js +19 -0
  26. data/doc/method_list.html +291 -0
  27. data/doc/top-level-namespace.html +85 -0
  28. data/documentation/css/dawn.css +121 -0
  29. data/documentation/css/styles.css +63 -0
  30. data/documentation/images/folder.png +0 -0
  31. data/documentation/images/key.png +0 -0
  32. data/documentation/images/proplogo.png +0 -0
  33. data/documentation/images/publish.png +0 -0
  34. data/documentation/images/text-x-generic.png +0 -0
  35. data/documentation/index.html.erb +221 -0
  36. data/documentation/tables/example/index.html +4074 -0
  37. data/documentation/tables/example_faceted/index.html +17239 -0
  38. data/documentation/tables/example_formatted/index.html +861 -0
  39. data/documentation/tables/example_local/1/index.html +6084 -0
  40. data/documentation/tables/example_local/10/index.html +6084 -0
  41. data/documentation/tables/example_local/11/index.html +6084 -0
  42. data/documentation/tables/example_local/12/index.html +6084 -0
  43. data/documentation/tables/example_local/13/index.html +6084 -0
  44. data/documentation/tables/example_local/14/index.html +6084 -0
  45. data/documentation/tables/example_local/15/index.html +6084 -0
  46. data/documentation/tables/example_local/16/index.html +6084 -0
  47. data/documentation/tables/example_local/17/index.html +6084 -0
  48. data/documentation/tables/example_local/18/index.html +6084 -0
  49. data/documentation/tables/example_local/19/index.html +6084 -0
  50. data/documentation/tables/example_local/2/index.html +6084 -0
  51. data/documentation/tables/example_local/20/index.html +6084 -0
  52. data/documentation/tables/example_local/21/index.html +6084 -0
  53. data/documentation/tables/example_local/22/index.html +6084 -0
  54. data/documentation/tables/example_local/23/index.html +6084 -0
  55. data/documentation/tables/example_local/24/index.html +1404 -0
  56. data/documentation/tables/example_local/3/index.html +6084 -0
  57. data/documentation/tables/example_local/4/index.html +6084 -0
  58. data/documentation/tables/example_local/5/index.html +6084 -0
  59. data/documentation/tables/example_local/6/index.html +6084 -0
  60. data/documentation/tables/example_local/7/index.html +6084 -0
  61. data/documentation/tables/example_local/8/index.html +6084 -0
  62. data/documentation/tables/example_local/9/index.html +6084 -0
  63. data/documentation/tables/example_local/index.html +6084 -0
  64. data/documentation/tables/favicon.ico +0 -0
  65. data/documentation/tables/images/th_arrow_asc.gif +0 -0
  66. data/documentation/tables/images/th_arrow_desc.gif +0 -0
  67. data/documentation/tables/index.html +48 -0
  68. data/documentation/tables/javascripts/application.js +32 -0
  69. data/documentation/tables/javascripts/jquery.tablesorter.js +852 -0
  70. data/documentation/tables/javascripts/jquery.tablesorter.multipagefilter.js +111 -0
  71. data/documentation/tables/javascripts/jquery.tablesorter.pager.js +183 -0
  72. data/documentation/tables/stylesheets/stylesheet.css +67 -0
  73. data/index.html +238 -0
  74. data/lib/table_setter/app.rb +54 -0
  75. data/lib/table_setter/command.rb +139 -0
  76. data/lib/table_setter/table.rb +226 -0
  77. data/lib/table_setter.rb +32 -0
  78. data/spec/spec.opts +1 -0
  79. data/spec/spec_helper.rb +11 -0
  80. data/spec/table-setter-app_spec.rb +24 -0
  81. data/spec/table-setter_spec.rb +179 -0
  82. data/table_setter.gemspec +171 -0
  83. data/template/config.ru +33 -0
  84. data/template/public/favicon.ico +0 -0
  85. data/template/public/images/th_arrow_asc.gif +0 -0
  86. data/template/public/images/th_arrow_desc.gif +0 -0
  87. data/template/public/javascripts/application.js +32 -0
  88. data/template/public/javascripts/jquery.tablesorter.js +852 -0
  89. data/template/public/javascripts/jquery.tablesorter.multipagefilter.js +111 -0
  90. data/template/public/javascripts/jquery.tablesorter.pager.js +183 -0
  91. data/template/public/stylesheets/stylesheet.css +74 -0
  92. data/template/tables/example.yml +21 -0
  93. data/template/tables/example_faceted.yml +27 -0
  94. data/template/tables/example_formatted.csv +1 -0
  95. data/template/tables/example_formatted.yml +27 -0
  96. data/template/tables/example_local.csv +5806 -0
  97. data/template/tables/example_local.yml +27 -0
  98. data/template/views/404.erb +4 -0
  99. data/template/views/500.erb +4 -0
  100. data/template/views/index.erb +7 -0
  101. data/template/views/layout.erb +34 -0
  102. data/template/views/table.erb +78 -0
  103. metadata +240 -0
@@ -0,0 +1,1813 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=UTF-8" />
6
+ <title>Class: TableSetter::Table</title>
7
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '..';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="../_index.html">Index (T)</a> &raquo;
27
+ <span class='title'><a href="../TableSetter.html" title="TableSetter (module)">TableSetter</a></span>
28
+ &raquo;
29
+ <span class="title">Table</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Class: TableSetter::Table
47
+
48
+
49
+ </h1>
50
+
51
+ <dl class="box">
52
+
53
+ <dt class="r1">Inherits:</dt>
54
+ <dd class="r1">
55
+ <span class="inheritName">Object</span>
56
+
57
+ <ul class="fullTree">
58
+ <li>Object</li>
59
+
60
+ <li class="next">TableSetter::Table</li>
61
+
62
+ </ul>
63
+ <a href="#" class="inheritanceTree">show all</a>
64
+
65
+ </dd>
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+ <dt class="r2 last">Defined in:</dt>
75
+ <dd class="r2 last">lib/table_setter/table.rb</dd>
76
+
77
+ </dl>
78
+ <div class="clear"></div>
79
+
80
+
81
+
82
+ <h2>Instance Attribute Summary</h2>
83
+ <ul class="summary">
84
+
85
+ <li class="public ">
86
+ <span class="summary_signature">
87
+
88
+ <a href="#data-instance_method" title="#data (instance method)">- (Object) <strong>data</strong> </a>
89
+
90
+
91
+
92
+ </span>
93
+
94
+
95
+ <span class="note title readonly">readonly</span>
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+ <span class="summary_desc">
104
+ The <tt>Table</tt> class handles processing the yaml processing and csv
105
+ loading, through table fu.
106
+
107
+ </span>
108
+
109
+ </li>
110
+
111
+
112
+ <li class="public ">
113
+ <span class="summary_signature">
114
+
115
+ <a href="#facets-instance_method" title="#facets (instance method)">- (Object) <strong>facets</strong> </a>
116
+
117
+
118
+
119
+ </span>
120
+
121
+
122
+ <span class="note title readonly">readonly</span>
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+ <span class="summary_desc">
131
+ The <tt>Table</tt> class handles processing the yaml processing and csv
132
+ loading, through table fu.
133
+
134
+ </span>
135
+
136
+ </li>
137
+
138
+
139
+ <li class="public ">
140
+ <span class="summary_signature">
141
+
142
+ <a href="#next_page-instance_method" title="#next_page (instance method)">- (Object) <strong>next_page</strong> </a>
143
+
144
+
145
+
146
+ </span>
147
+
148
+
149
+ <span class="note title readonly">readonly</span>
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+ <span class="summary_desc">
158
+ The <tt>Table</tt> class handles processing the yaml processing and csv
159
+ loading, through table fu.
160
+
161
+ </span>
162
+
163
+ </li>
164
+
165
+
166
+ <li class="public ">
167
+ <span class="summary_signature">
168
+
169
+ <a href="#page-instance_method" title="#page (instance method)">- (Object) <strong>page</strong> </a>
170
+
171
+
172
+
173
+ </span>
174
+
175
+
176
+ <span class="note title readonly">readonly</span>
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+ <span class="summary_desc">
185
+ The <tt>Table</tt> class handles processing the yaml processing and csv
186
+ loading, through table fu.
187
+
188
+ </span>
189
+
190
+ </li>
191
+
192
+
193
+ <li class="public ">
194
+ <span class="summary_signature">
195
+
196
+ <a href="#prev_page-instance_method" title="#prev_page (instance method)">- (Object) <strong>prev_page</strong> </a>
197
+
198
+
199
+
200
+ </span>
201
+
202
+
203
+ <span class="note title readonly">readonly</span>
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+ <span class="summary_desc">
212
+ The <tt>Table</tt> class handles processing the yaml processing and csv
213
+ loading, through table fu.
214
+
215
+ </span>
216
+
217
+ </li>
218
+
219
+
220
+ <li class="public ">
221
+ <span class="summary_signature">
222
+
223
+ <a href="#table_opts-instance_method" title="#table_opts (instance method)">- (Object) <strong>table_opts</strong> </a>
224
+
225
+
226
+
227
+ </span>
228
+
229
+
230
+ <span class="note title readonly">readonly</span>
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+ <span class="summary_desc">
239
+ The <tt>Table</tt> class handles processing the yaml processing and csv
240
+ loading, through table fu.
241
+
242
+ </span>
243
+
244
+ </li>
245
+
246
+
247
+ </ul>
248
+
249
+
250
+ <h2>Class Method Summary</h2>
251
+
252
+ <ul class="summary">
253
+
254
+ <li class="public ">
255
+ <span class="summary_signature">
256
+
257
+ <a href="#all-class_method" title="all (class method)">+ (Object) <strong>all</strong> </a>
258
+
259
+
260
+
261
+ </span>
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+ <span class="summary_desc">
270
+ Returns all the tables in the table directory.
271
+
272
+ </span>
273
+
274
+ </li>
275
+
276
+
277
+ <li class="public ">
278
+ <span class="summary_signature">
279
+
280
+ <a href="#exists%3F-class_method" title="exists? (class method)">+ (Boolean) <strong>exists?</strong>(slug) </a>
281
+
282
+
283
+
284
+ </span>
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+ <span class="summary_desc">
293
+ Does a table with this slug exist?.
294
+
295
+ </span>
296
+
297
+ </li>
298
+
299
+
300
+ <li class="public ">
301
+ <span class="summary_signature">
302
+
303
+ <a href="#fresh_yaml_time-class_method" title="fresh_yaml_time (class method)">+ (Object) <strong>fresh_yaml_time</strong> </a>
304
+
305
+
306
+
307
+ </span>
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+ <span class="summary_desc">
316
+ <tt>fresh_yaml_time</tt> checks each file in the tables directory and
317
+ returns the newest file&#8217;s modification time &#8212; there&#8217;s
318
+ probably a more unix-y way to do this but for now this is plenty speedy.
319
+
320
+ </span>
321
+
322
+ </li>
323
+
324
+
325
+ <li class="public ">
326
+ <span class="summary_signature">
327
+
328
+ <a href="#table_path-class_method" title="table_path (class method)">+ (Object) <strong>table_path</strong>(slug) </a>
329
+
330
+
331
+
332
+ </span>
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+ <span class="summary_desc">
341
+ Convenience method for looking up by slug.
342
+
343
+ </span>
344
+
345
+ </li>
346
+
347
+
348
+ </ul>
349
+
350
+ <h2>Instance Method Summary</h2>
351
+
352
+ <ul class="summary">
353
+
354
+ <li class="public ">
355
+ <span class="summary_signature">
356
+
357
+ <a href="#csv_data-instance_method" title="#csv_data (instance method)">- (Object) <strong>csv_data</strong> </a>
358
+
359
+
360
+
361
+ </span>
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+ <span class="summary_desc">
370
+ The csv_data for the table fu instance is loaded either from the remote
371
+ source or from a local file, depending on the keys present in the yaml
372
+ file.
373
+
374
+ </span>
375
+
376
+ </li>
377
+
378
+
379
+ <li class="public ">
380
+ <span class="summary_signature">
381
+
382
+ <a href="#faceted%3F-instance_method" title="#faceted? (instance method)">- (Boolean) <strong>faceted?</strong> </a>
383
+
384
+
385
+
386
+ </span>
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+ <span class="summary_desc"></span>
395
+
396
+ </li>
397
+
398
+
399
+ <li class="public ">
400
+ <span class="summary_signature">
401
+
402
+ <a href="#hard_paginate%3F-instance_method" title="#hard_paginate? (instance method)">- (Boolean) <strong>hard_paginate?</strong> </a>
403
+
404
+
405
+
406
+ </span>
407
+
408
+
409
+
410
+
411
+
412
+
413
+
414
+ <span class="summary_desc">
415
+ hard_paginate instructs the app to render batches of a table.
416
+
417
+ </span>
418
+
419
+ </li>
420
+
421
+
422
+ <li class="public ">
423
+ <span class="summary_signature">
424
+
425
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Table) <strong>initialize</strong>(slug, opts = {:defer =&gt; false}) </a>
426
+
427
+
428
+
429
+ </span>
430
+
431
+ <span class="note title constructor">constructor</span>
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+ <span class="summary_desc">
440
+ A new Table should accept a slug, mapped to a yaml in the tables directory,
441
+ optionally you can defer loading of the table until you&#8217;re ready to
442
+ render it.
443
+
444
+ </span>
445
+
446
+ </li>
447
+
448
+
449
+ <li class="public ">
450
+ <span class="summary_signature">
451
+
452
+ <a href="#load-instance_method" title="#load (instance method)">- (Object) <strong>load</strong> </a>
453
+
454
+
455
+
456
+ </span>
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+ <span class="summary_desc">
465
+ The load method handles the actual request either to the file system or
466
+ remote url.
467
+
468
+ </span>
469
+
470
+ </li>
471
+
472
+
473
+ <li class="public ">
474
+ <span class="summary_signature">
475
+
476
+ <a href="#method_missing-instance_method" title="#method_missing (instance method)">- (Object) <strong>method_missing</strong>(method) </a>
477
+
478
+
479
+
480
+ </span>
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+ <span class="summary_desc">
489
+ We magically need access to the top level keys like google_key, or uri for
490
+ the other methods.
491
+
492
+ </span>
493
+
494
+ </li>
495
+
496
+
497
+ <li class="public ">
498
+ <span class="summary_signature">
499
+
500
+ <a href="#paginate%21-instance_method" title="#paginate! (instance method)">- (Object) <strong>paginate!</strong>(curr_page) </a>
501
+
502
+
503
+
504
+ </span>
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+ <span class="summary_desc">
513
+ paginate uses TableFu&#8217;s only! method to batch the table.
514
+
515
+ </span>
516
+
517
+ </li>
518
+
519
+
520
+ <li class="public ">
521
+ <span class="summary_signature">
522
+
523
+ <a href="#per_page-instance_method" title="#per_page (instance method)">- (Object) <strong>per_page</strong> </a>
524
+
525
+
526
+
527
+ </span>
528
+
529
+
530
+
531
+
532
+
533
+
534
+
535
+ <span class="summary_desc">
536
+ The number of rows per page.
537
+
538
+ </span>
539
+
540
+ </li>
541
+
542
+
543
+ <li class="public ">
544
+ <span class="summary_signature">
545
+
546
+ <a href="#sort_array-instance_method" title="#sort_array (instance method)">- (Object) <strong>sort_array</strong> </a>
547
+
548
+
549
+
550
+ </span>
551
+
552
+
553
+
554
+
555
+
556
+
557
+
558
+ <span class="summary_desc">
559
+ A convienence method to return the sort array for table setter.
560
+
561
+ </span>
562
+
563
+ </li>
564
+
565
+
566
+ <li class="public ">
567
+ <span class="summary_signature">
568
+
569
+ <a href="#sortable%3F-instance_method" title="#sortable? (instance method)">- (Boolean) <strong>sortable?</strong> </a>
570
+
571
+
572
+
573
+ </span>
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+ <span class="summary_desc">
582
+ A table isn&#8217;t sortable by tablesorter if it&#8217;s either faceted or
583
+ multi-page paginated.
584
+
585
+ </span>
586
+
587
+ </li>
588
+
589
+
590
+ <li class="public ">
591
+ <span class="summary_signature">
592
+
593
+ <a href="#total_pages-instance_method" title="#total_pages (instance method)">- (Object) <strong>total_pages</strong> </a>
594
+
595
+
596
+
597
+ </span>
598
+
599
+
600
+
601
+
602
+
603
+
604
+
605
+ <span class="summary_desc">
606
+ The total pages we&#8217;ll have.
607
+
608
+ </span>
609
+
610
+ </li>
611
+
612
+
613
+ <li class="public ">
614
+ <span class="summary_signature">
615
+
616
+ <a href="#updated_at-instance_method" title="#updated_at (instance method)">- (Object) <strong>updated_at</strong> </a>
617
+
618
+
619
+
620
+ </span>
621
+
622
+
623
+
624
+
625
+
626
+
627
+
628
+ <span class="summary_desc">
629
+ The real <tt>updated_at</tt> of a Table instance is the newer modification
630
+ time of the csv file or the yaml file.
631
+
632
+ </span>
633
+
634
+ </li>
635
+
636
+
637
+ <li class="public ">
638
+ <span class="summary_signature">
639
+
640
+ <a href="#uri-instance_method" title="#uri (instance method)">- (Object) <strong>uri</strong> </a>
641
+
642
+
643
+
644
+ </span>
645
+
646
+
647
+
648
+
649
+
650
+
651
+
652
+ <span class="summary_desc">
653
+ Returns a usable uri based on what sort of input we have.
654
+
655
+ </span>
656
+
657
+ </li>
658
+
659
+
660
+ </ul>
661
+ <div id="constructor_details" class="method_details_list">
662
+ <h2>Constructor Details</h2>
663
+
664
+ <div class="method_details first">
665
+ <p class="signature first" id="initialize-instance_method">
666
+
667
+ - (<tt><a href="" title="TableSetter::Table (class)">Table</a></tt>) <strong>initialize</strong>(slug, opts = {:defer =&gt; false})
668
+
669
+
670
+
671
+ </p><div class="docstring">
672
+ <div class="discussion">
673
+ <p>
674
+ A new Table should accept a slug, mapped to a yaml in the tables directory,
675
+ optionally you can defer loading of the table until you&#8217;re ready to
676
+ render it.
677
+ </p>
678
+
679
+
680
+ </div>
681
+ </div>
682
+ <div class="tags">
683
+
684
+ </div><table class="source_code">
685
+ <tr>
686
+ <td>
687
+ <pre class="lines">
688
+
689
+
690
+ 14
691
+ 15
692
+ 16
693
+ 17
694
+ 18
695
+ 19
696
+ 20
697
+ 21
698
+ 22</pre>
699
+ </td>
700
+ <td>
701
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 14</span>
702
+
703
+ <span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='slug identifier id'>slug</span><span class='comma token'>,</span> <span class='opts identifier id'>opts</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='symbol val'>:defer</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='false false kw'>false</span><span class='rbrace token'>}</span><span class='rparen token'>)</span>
704
+ <span class='options identifier id'>options</span> <span class='assign token'>=</span> <span class='indifferent_access identifier id'>indifferent_access</span> <span class='YAML constant id'>YAML</span><span class='dot token'>.</span><span class='load_file identifier id'>load_file</span><span class='lparen token'>(</span><span class='Table constant id'>Table</span><span class='dot token'>.</span><span class='table_path identifier id'>table_path</span><span class='lparen token'>(</span><span class='slug identifier id'>slug</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
705
+ <span class='@table_opts ivar id'>@table_opts</span> <span class='assign token'>=</span> <span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:table</span><span class='rbrack token'>]</span>
706
+ <span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='symbol val'>:slug</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='slug identifier id'>slug</span>
707
+ <span class='@deferred ivar id'>@deferred</span> <span class='assign token'>=</span> <span class='opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:defer</span><span class='rbrack token'>]</span>
708
+ <span class='if if kw'>if</span> <span class='notop op'>!</span><span class='@deferred ivar id'>@deferred</span>
709
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='load identifier id'>load</span>
710
+ <span class='end end kw'>end</span>
711
+ <span class='end end kw'>end</span>
712
+ </pre>
713
+ </td>
714
+ </tr>
715
+ </table>
716
+ </div>
717
+
718
+ </div>
719
+ <div id="method_missing_details" class="method_details_list">
720
+ <h2>Dynamic Method Handling</h2>
721
+ <p class="notice this">
722
+ This class handles dynamic methods through the <tt>method_missing</tt> method
723
+
724
+ </p>
725
+
726
+ <div class="method_details first">
727
+ <p class="signature first" id="method_missing-instance_method">
728
+
729
+ - (<tt>Object</tt>) <strong>method_missing</strong>(method)
730
+
731
+
732
+
733
+ </p><div class="docstring">
734
+ <div class="discussion">
735
+ <p>
736
+ We magically need access to the top level keys like google_key, or uri for
737
+ the other methods. It&#8217;s a bit dangerous because everything returns
738
+ nil otherwise. At some point we should eval and create methods at boot
739
+ time.
740
+ </p>
741
+
742
+
743
+ </div>
744
+ </div>
745
+ <div class="tags">
746
+
747
+ </div><table class="source_code">
748
+ <tr>
749
+ <td>
750
+ <pre class="lines">
751
+
752
+
753
+ 110
754
+ 111
755
+ 112
756
+ 113
757
+ 114</pre>
758
+ </td>
759
+ <td>
760
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 110</span>
761
+
762
+ <span class='def def kw'>def</span> <span class='method_missing identifier id'>method_missing</span><span class='lparen token'>(</span><span class='method identifier id'>method</span><span class='rparen token'>)</span>
763
+ <span class='if if kw'>if</span> <span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='method identifier id'>method</span><span class='rbrack token'>]</span>
764
+ <span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='method identifier id'>method</span><span class='rbrack token'>]</span>
765
+ <span class='end end kw'>end</span>
766
+ <span class='end end kw'>end</span>
767
+ </pre>
768
+ </td>
769
+ </tr>
770
+ </table>
771
+ </div>
772
+
773
+ </div>
774
+
775
+ <div id="instance_attr_details" class="attr_details">
776
+ <h2>Instance Attribute Details</h2>
777
+
778
+
779
+ <span id=""></span>
780
+ <span id="data-instance_method"></span>
781
+ <div class="method_details first">
782
+ <p class="signature first" id="data-instance_method">
783
+
784
+ - (<tt>Object</tt>) <strong>data</strong> <span class="extras">(readonly)</span>
785
+
786
+
787
+
788
+ </p><div class="docstring">
789
+ <div class="discussion">
790
+ <p>
791
+ The <tt>Table</tt> class handles processing the yaml processing and csv
792
+ loading, through table fu
793
+ </p>
794
+
795
+
796
+ </div>
797
+ </div>
798
+ <div class="tags">
799
+
800
+ </div><table class="source_code">
801
+ <tr>
802
+ <td>
803
+ <pre class="lines">
804
+
805
+
806
+ 10
807
+ 11
808
+ 12</pre>
809
+ </td>
810
+ <td>
811
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 10</span>
812
+
813
+ <span class='def def kw'>def</span> <span class='data identifier id'>data</span>
814
+ <span class='@data ivar id'>@data</span>
815
+ <span class='end end kw'>end</span>
816
+ </pre>
817
+ </td>
818
+ </tr>
819
+ </table>
820
+ </div>
821
+
822
+
823
+ <span id=""></span>
824
+ <span id="facets-instance_method"></span>
825
+ <div class="method_details ">
826
+ <p class="signature " id="facets-instance_method">
827
+
828
+ - (<tt>Object</tt>) <strong>facets</strong> <span class="extras">(readonly)</span>
829
+
830
+
831
+
832
+ </p><div class="docstring">
833
+ <div class="discussion">
834
+ <p>
835
+ The <tt>Table</tt> class handles processing the yaml processing and csv
836
+ loading, through table fu
837
+ </p>
838
+
839
+
840
+ </div>
841
+ </div>
842
+ <div class="tags">
843
+
844
+ </div><table class="source_code">
845
+ <tr>
846
+ <td>
847
+ <pre class="lines">
848
+
849
+
850
+ 10
851
+ 11
852
+ 12</pre>
853
+ </td>
854
+ <td>
855
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 10</span>
856
+
857
+ <span class='def def kw'>def</span> <span class='facets identifier id'>facets</span>
858
+ <span class='@facets ivar id'>@facets</span>
859
+ <span class='end end kw'>end</span>
860
+ </pre>
861
+ </td>
862
+ </tr>
863
+ </table>
864
+ </div>
865
+
866
+
867
+ <span id=""></span>
868
+ <span id="next_page-instance_method"></span>
869
+ <div class="method_details ">
870
+ <p class="signature " id="next_page-instance_method">
871
+
872
+ - (<tt>Object</tt>) <strong>next_page</strong> <span class="extras">(readonly)</span>
873
+
874
+
875
+
876
+ </p><div class="docstring">
877
+ <div class="discussion">
878
+ <p>
879
+ The <tt>Table</tt> class handles processing the yaml processing and csv
880
+ loading, through table fu
881
+ </p>
882
+
883
+
884
+ </div>
885
+ </div>
886
+ <div class="tags">
887
+
888
+ </div><table class="source_code">
889
+ <tr>
890
+ <td>
891
+ <pre class="lines">
892
+
893
+
894
+ 10
895
+ 11
896
+ 12</pre>
897
+ </td>
898
+ <td>
899
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 10</span>
900
+
901
+ <span class='def def kw'>def</span> <span class='next_page identifier id'>next_page</span>
902
+ <span class='@next_page ivar id'>@next_page</span>
903
+ <span class='end end kw'>end</span>
904
+ </pre>
905
+ </td>
906
+ </tr>
907
+ </table>
908
+ </div>
909
+
910
+
911
+ <span id=""></span>
912
+ <span id="page-instance_method"></span>
913
+ <div class="method_details ">
914
+ <p class="signature " id="page-instance_method">
915
+
916
+ - (<tt>Object</tt>) <strong>page</strong> <span class="extras">(readonly)</span>
917
+
918
+
919
+
920
+ </p><div class="docstring">
921
+ <div class="discussion">
922
+ <p>
923
+ The <tt>Table</tt> class handles processing the yaml processing and csv
924
+ loading, through table fu
925
+ </p>
926
+
927
+
928
+ </div>
929
+ </div>
930
+ <div class="tags">
931
+
932
+ </div><table class="source_code">
933
+ <tr>
934
+ <td>
935
+ <pre class="lines">
936
+
937
+
938
+ 10
939
+ 11
940
+ 12</pre>
941
+ </td>
942
+ <td>
943
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 10</span>
944
+
945
+ <span class='def def kw'>def</span> <span class='page identifier id'>page</span>
946
+ <span class='@page ivar id'>@page</span>
947
+ <span class='end end kw'>end</span>
948
+ </pre>
949
+ </td>
950
+ </tr>
951
+ </table>
952
+ </div>
953
+
954
+
955
+ <span id=""></span>
956
+ <span id="prev_page-instance_method"></span>
957
+ <div class="method_details ">
958
+ <p class="signature " id="prev_page-instance_method">
959
+
960
+ - (<tt>Object</tt>) <strong>prev_page</strong> <span class="extras">(readonly)</span>
961
+
962
+
963
+
964
+ </p><div class="docstring">
965
+ <div class="discussion">
966
+ <p>
967
+ The <tt>Table</tt> class handles processing the yaml processing and csv
968
+ loading, through table fu
969
+ </p>
970
+
971
+
972
+ </div>
973
+ </div>
974
+ <div class="tags">
975
+
976
+ </div><table class="source_code">
977
+ <tr>
978
+ <td>
979
+ <pre class="lines">
980
+
981
+
982
+ 10
983
+ 11
984
+ 12</pre>
985
+ </td>
986
+ <td>
987
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 10</span>
988
+
989
+ <span class='def def kw'>def</span> <span class='prev_page identifier id'>prev_page</span>
990
+ <span class='@prev_page ivar id'>@prev_page</span>
991
+ <span class='end end kw'>end</span>
992
+ </pre>
993
+ </td>
994
+ </tr>
995
+ </table>
996
+ </div>
997
+
998
+
999
+ <span id=""></span>
1000
+ <span id="table_opts-instance_method"></span>
1001
+ <div class="method_details ">
1002
+ <p class="signature " id="table_opts-instance_method">
1003
+
1004
+ - (<tt>Object</tt>) <strong>table_opts</strong> <span class="extras">(readonly)</span>
1005
+
1006
+
1007
+
1008
+ </p><div class="docstring">
1009
+ <div class="discussion">
1010
+ <p>
1011
+ The <tt>Table</tt> class handles processing the yaml processing and csv
1012
+ loading, through table fu
1013
+ </p>
1014
+
1015
+
1016
+ </div>
1017
+ </div>
1018
+ <div class="tags">
1019
+
1020
+ </div><table class="source_code">
1021
+ <tr>
1022
+ <td>
1023
+ <pre class="lines">
1024
+
1025
+
1026
+ 10
1027
+ 11
1028
+ 12</pre>
1029
+ </td>
1030
+ <td>
1031
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 10</span>
1032
+
1033
+ <span class='def def kw'>def</span> <span class='table_opts identifier id'>table_opts</span>
1034
+ <span class='@table_opts ivar id'>@table_opts</span>
1035
+ <span class='end end kw'>end</span>
1036
+ </pre>
1037
+ </td>
1038
+ </tr>
1039
+ </table>
1040
+ </div>
1041
+
1042
+ </div>
1043
+
1044
+
1045
+ <div id="class_method_details" class="method_details_list">
1046
+ <h2>Class Method Details</h2>
1047
+
1048
+
1049
+ <div class="method_details first">
1050
+ <p class="signature first" id="all-class_method">
1051
+
1052
+ + (<tt>Object</tt>) <strong>all</strong>
1053
+
1054
+
1055
+
1056
+ </p><div class="docstring">
1057
+ <div class="discussion">
1058
+ <p>
1059
+ Returns all the tables in the table directory. Each table is deferred so
1060
+ accessing the @data attribute will throw and error.
1061
+ </p>
1062
+
1063
+
1064
+ </div>
1065
+ </div>
1066
+ <div class="tags">
1067
+
1068
+ </div><table class="source_code">
1069
+ <tr>
1070
+ <td>
1071
+ <pre class="lines">
1072
+
1073
+
1074
+ 176
1075
+ 177
1076
+ 178
1077
+ 179
1078
+ 180
1079
+ 181
1080
+ 182
1081
+ 183</pre>
1082
+ </td>
1083
+ <td>
1084
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 176</span>
1085
+
1086
+ <span class='def def kw'>def</span> <span class='all identifier id'>all</span>
1087
+ <span class='tables identifier id'>tables</span><span class='assign token'>=</span><span class='lbrack token'>[</span><span class='rbrack token'>]</span>
1088
+ <span class='Dir constant id'>Dir</span><span class='dot token'>.</span><span class='glob identifier id'>glob</span><span class='lparen token'>(</span><span class='dstring node'>&quot;#{TableSetter.table_path}/*.yml&quot;</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='file identifier id'>file</span><span class='bitor op'>|</span>
1089
+ <span class='table identifier id'>table</span> <span class='assign token'>=</span> <span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='File constant id'>File</span><span class='dot token'>.</span><span class='basename identifier id'>basename</span><span class='lparen token'>(</span><span class='file identifier id'>file</span><span class='comma token'>,</span> <span class='string val'>&quot;.yml&quot;</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='symbol val'>:defer</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='true true kw'>true</span><span class='rparen token'>)</span>
1090
+ <span class='tables identifier id'>tables</span> <span class='lshft op'>&lt;&lt;</span> <span class='table identifier id'>table</span> <span class='if if_mod kw'>if</span> <span class='table identifier id'>table</span><span class='dot token'>.</span><span class='live identifier id'>live</span>
1091
+ <span class='end end kw'>end</span>
1092
+ <span class='tables identifier id'>tables</span>
1093
+ <span class='end end kw'>end</span>
1094
+ </pre>
1095
+ </td>
1096
+ </tr>
1097
+ </table>
1098
+ </div>
1099
+
1100
+ <div class="method_details ">
1101
+ <p class="signature " id="exists?-class_method">
1102
+
1103
+ + (<tt>Boolean</tt>) <strong>exists?</strong>(slug)
1104
+
1105
+
1106
+
1107
+ </p><div class="docstring">
1108
+ <div class="discussion">
1109
+ <p>
1110
+ Does a table with this slug exist?
1111
+ </p>
1112
+
1113
+
1114
+ </div>
1115
+ </div>
1116
+ <div class="tags">
1117
+ <h3>Returns:</h3>
1118
+ <ul class="return">
1119
+
1120
+ <li>
1121
+
1122
+ <span class='type'>(<tt>Boolean</tt>)</span>
1123
+
1124
+
1125
+
1126
+
1127
+ </li>
1128
+
1129
+ </ul>
1130
+
1131
+ </div><table class="source_code">
1132
+ <tr>
1133
+ <td>
1134
+ <pre class="lines">
1135
+
1136
+
1137
+ 207
1138
+ 208
1139
+ 209</pre>
1140
+ </td>
1141
+ <td>
1142
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 207</span>
1143
+
1144
+ <span class='def def kw'>def</span> <span class='exists? fid id'>exists?</span><span class='lparen token'>(</span><span class='slug identifier id'>slug</span><span class='rparen token'>)</span>
1145
+ <span class='File constant id'>File</span><span class='dot token'>.</span><span class='exists? fid id'>exists?</span> <span class='table_path identifier id'>table_path</span><span class='lparen token'>(</span><span class='slug identifier id'>slug</span><span class='rparen token'>)</span>
1146
+ <span class='end end kw'>end</span>
1147
+ </pre>
1148
+ </td>
1149
+ </tr>
1150
+ </table>
1151
+ </div>
1152
+
1153
+ <div class="method_details ">
1154
+ <p class="signature " id="fresh_yaml_time-class_method">
1155
+
1156
+ + (<tt>Object</tt>) <strong>fresh_yaml_time</strong>
1157
+
1158
+
1159
+
1160
+ </p><div class="docstring">
1161
+ <div class="discussion">
1162
+ <p>
1163
+ <tt>fresh_yaml_time</tt> checks each file in the tables directory and
1164
+ returns the newest file&#8217;s modification time &#8212; there&#8217;s
1165
+ probably a more unix-y way to do this but for now this is plenty speedy.
1166
+ </p>
1167
+
1168
+
1169
+ </div>
1170
+ </div>
1171
+ <div class="tags">
1172
+
1173
+ </div><table class="source_code">
1174
+ <tr>
1175
+ <td>
1176
+ <pre class="lines">
1177
+
1178
+
1179
+ 188
1180
+ 189
1181
+ 190
1182
+ 191
1183
+ 192
1184
+ 193
1185
+ 194
1186
+ 195
1187
+ 196
1188
+ 197
1189
+ 198
1190
+ 199</pre>
1191
+ </td>
1192
+ <td>
1193
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 188</span>
1194
+
1195
+ <span class='def def kw'>def</span> <span class='fresh_yaml_time identifier id'>fresh_yaml_time</span>
1196
+ <span class='newest_file identifier id'>newest_file</span> <span class='assign token'>=</span> <span class='Dir constant id'>Dir</span><span class='lbrack token'>[</span><span class='dstring node'>&quot;#{TableSetter.table_path}/*.yml&quot;</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='inject identifier id'>inject</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='memo identifier id'>memo</span><span class='comma token'>,</span> <span class='obj identifier id'>obj</span><span class='bitor op'>|</span>
1197
+ <span class='memo_time identifier id'>memo_time</span> <span class='assign token'>=</span> <span class='File constant id'>File</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='File constant id'>File</span><span class='dot token'>.</span><span class='expand_path identifier id'>expand_path</span> <span class='memo identifier id'>memo</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='mtime identifier id'>mtime</span>
1198
+ <span class='obj_time identifier id'>obj_time</span> <span class='assign token'>=</span> <span class='File constant id'>File</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='File constant id'>File</span><span class='dot token'>.</span><span class='expand_path identifier id'>expand_path</span> <span class='obj identifier id'>obj</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='mtime identifier id'>mtime</span>
1199
+ <span class='if if kw'>if</span> <span class='memo_time identifier id'>memo_time</span> <span class='gt op'>&gt;</span> <span class='obj_time identifier id'>obj_time</span>
1200
+ <span class='memo identifier id'>memo</span>
1201
+ <span class='else else kw'>else</span>
1202
+ <span class='obj identifier id'>obj</span>
1203
+ <span class='end end kw'>end</span>
1204
+ <span class='end end kw'>end</span>
1205
+ <span class='File constant id'>File</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='newest_file identifier id'>newest_file</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='mtime identifier id'>mtime</span>
1206
+ <span class='end end kw'>end</span>
1207
+ </pre>
1208
+ </td>
1209
+ </tr>
1210
+ </table>
1211
+ </div>
1212
+
1213
+ <div class="method_details ">
1214
+ <p class="signature " id="table_path-class_method">
1215
+
1216
+ + (<tt>Object</tt>) <strong>table_path</strong>(slug)
1217
+
1218
+
1219
+
1220
+ </p><div class="docstring">
1221
+ <div class="discussion">
1222
+ <p>
1223
+ Convenience method for looking up by slug.
1224
+ </p>
1225
+
1226
+
1227
+ </div>
1228
+ </div>
1229
+ <div class="tags">
1230
+
1231
+ </div><table class="source_code">
1232
+ <tr>
1233
+ <td>
1234
+ <pre class="lines">
1235
+
1236
+
1237
+ 202
1238
+ 203
1239
+ 204</pre>
1240
+ </td>
1241
+ <td>
1242
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 202</span>
1243
+
1244
+ <span class='def def kw'>def</span> <span class='table_path identifier id'>table_path</span><span class='lparen token'>(</span><span class='slug identifier id'>slug</span><span class='rparen token'>)</span>
1245
+ <span class='dstring node'>&quot;#{TableSetter.table_path}#{slug}.yml&quot;</span>
1246
+ <span class='end end kw'>end</span>
1247
+ </pre>
1248
+ </td>
1249
+ </tr>
1250
+ </table>
1251
+ </div>
1252
+
1253
+ </div>
1254
+
1255
+ <div id="instance_method_details" class="method_details_list">
1256
+ <h2>Instance Method Details</h2>
1257
+
1258
+
1259
+ <div class="method_details first">
1260
+ <p class="signature first" id="csv_data-instance_method">
1261
+
1262
+ - (<tt>Object</tt>) <strong>csv_data</strong>
1263
+
1264
+
1265
+
1266
+ </p><div class="docstring">
1267
+ <div class="discussion">
1268
+ <p>
1269
+ The csv_data for the table fu instance is loaded either from the remote
1270
+ source or from a local file, depending on the keys present in the yaml
1271
+ file.
1272
+ </p>
1273
+
1274
+
1275
+ </div>
1276
+ </div>
1277
+ <div class="tags">
1278
+
1279
+ </div><table class="source_code">
1280
+ <tr>
1281
+ <td>
1282
+ <pre class="lines">
1283
+
1284
+
1285
+ 39
1286
+ 40
1287
+ 41
1288
+ 42
1289
+ 43
1290
+ 44</pre>
1291
+ </td>
1292
+ <td>
1293
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 39</span>
1294
+
1295
+ <span class='def def kw'>def</span> <span class='csv_data identifier id'>csv_data</span>
1296
+ <span class='case case kw'>case</span>
1297
+ <span class='when when kw'>when</span> <span class='google_key identifier id'>google_key</span> <span class='orop op'>||</span> <span class='url identifier id'>url</span> <span class='then then kw'>then</span> <span class='Curl constant id'>Curl</span><span class='colon2 op'>::</span><span class='Easy constant id'>Easy</span><span class='dot token'>.</span><span class='perform identifier id'>perform</span><span class='lparen token'>(</span><span class='uri identifier id'>uri</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='body_str identifier id'>body_str</span>
1298
+ <span class='when when kw'>when</span> <span class='file identifier id'>file</span> <span class='then then kw'>then</span> <span class='File constant id'>File</span><span class='dot token'>.</span><span class='open identifier id'>open</span><span class='lparen token'>(</span><span class='uri identifier id'>uri</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='read identifier id'>read</span>
1299
+ <span class='end end kw'>end</span>
1300
+ <span class='end end kw'>end</span>
1301
+ </pre>
1302
+ </td>
1303
+ </tr>
1304
+ </table>
1305
+ </div>
1306
+
1307
+ <div class="method_details ">
1308
+ <p class="signature " id="faceted?-instance_method">
1309
+
1310
+ - (<tt>Boolean</tt>) <strong>faceted?</strong>
1311
+
1312
+
1313
+
1314
+ </p><div class="docstring">
1315
+ <div class="discussion">
1316
+
1317
+
1318
+ </div>
1319
+ </div>
1320
+ <div class="tags">
1321
+ <h3>Returns:</h3>
1322
+ <ul class="return">
1323
+
1324
+ <li>
1325
+
1326
+ <span class='type'>(<tt>Boolean</tt>)</span>
1327
+
1328
+
1329
+
1330
+
1331
+ </li>
1332
+
1333
+ </ul>
1334
+
1335
+ </div><table class="source_code">
1336
+ <tr>
1337
+ <td>
1338
+ <pre class="lines">
1339
+
1340
+
1341
+ 62
1342
+ 63
1343
+ 64</pre>
1344
+ </td>
1345
+ <td>
1346
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 62</span>
1347
+
1348
+ <span class='def def kw'>def</span> <span class='faceted? fid id'>faceted?</span>
1349
+ <span class='notop op'>!</span><span class='@facets ivar id'>@facets</span><span class='dot token'>.</span><span class='nil? fid id'>nil?</span>
1350
+ <span class='end end kw'>end</span>
1351
+ </pre>
1352
+ </td>
1353
+ </tr>
1354
+ </table>
1355
+ </div>
1356
+
1357
+ <div class="method_details ">
1358
+ <p class="signature " id="hard_paginate?-instance_method">
1359
+
1360
+ - (<tt>Boolean</tt>) <strong>hard_paginate?</strong>
1361
+
1362
+
1363
+
1364
+ </p><div class="docstring">
1365
+ <div class="discussion">
1366
+ <p>
1367
+ hard_paginate instructs the app to render batches of a table.
1368
+ </p>
1369
+
1370
+
1371
+ </div>
1372
+ </div>
1373
+ <div class="tags">
1374
+ <h3>Returns:</h3>
1375
+ <ul class="return">
1376
+
1377
+ <li>
1378
+
1379
+ <span class='type'>(<tt>Boolean</tt>)</span>
1380
+
1381
+
1382
+
1383
+
1384
+ </li>
1385
+
1386
+ </ul>
1387
+
1388
+ </div><table class="source_code">
1389
+ <tr>
1390
+ <td>
1391
+ <pre class="lines">
1392
+
1393
+
1394
+ 72
1395
+ 73
1396
+ 74</pre>
1397
+ </td>
1398
+ <td>
1399
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 72</span>
1400
+
1401
+ <span class='def def kw'>def</span> <span class='hard_paginate? fid id'>hard_paginate?</span>
1402
+ <span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='symbol val'>:hard_paginate</span><span class='rbrack token'>]</span> <span class='eq op'>==</span> <span class='true true kw'>true</span>
1403
+ <span class='end end kw'>end</span>
1404
+ </pre>
1405
+ </td>
1406
+ </tr>
1407
+ </table>
1408
+ </div>
1409
+
1410
+ <div class="method_details ">
1411
+ <p class="signature " id="load-instance_method">
1412
+
1413
+ - (<tt>Object</tt>) <strong>load</strong>
1414
+
1415
+
1416
+
1417
+ </p><div class="docstring">
1418
+ <div class="discussion">
1419
+ <p>
1420
+ The load method handles the actual request either to the file system or
1421
+ remote url. It performs the requested data manipulations form the yml file
1422
+ after the data has been loaded. We&#8217;re keeping this explicit to
1423
+ control against unnecessary http requests.
1424
+ </p>
1425
+
1426
+
1427
+ </div>
1428
+ </div>
1429
+ <div class="tags">
1430
+
1431
+ </div><table class="source_code">
1432
+ <tr>
1433
+ <td>
1434
+ <pre class="lines">
1435
+
1436
+
1437
+ 27
1438
+ 28
1439
+ 29
1440
+ 30
1441
+ 31
1442
+ 32
1443
+ 33
1444
+ 34
1445
+ 35</pre>
1446
+ </td>
1447
+ <td>
1448
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 27</span>
1449
+
1450
+ <span class='def def kw'>def</span> <span class='load identifier id'>load</span>
1451
+ <span class='csv identifier id'>csv</span> <span class='assign token'>=</span> <span class='csv_data identifier id'>csv_data</span>
1452
+ <span class='@data ivar id'>@data</span> <span class='assign token'>=</span> <span class='TableFu constant id'>TableFu</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='csv_data identifier id'>csv_data</span><span class='comma token'>,</span> <span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='symbol val'>:column_options</span><span class='rbrack token'>]</span> <span class='orop op'>||</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='rparen token'>)</span>
1453
+ <span class='if if kw'>if</span> <span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='symbol val'>:faceting</span><span class='rbrack token'>]</span>
1454
+ <span class='@data ivar id'>@data</span><span class='dot token'>.</span><span class='col_opts identifier id'>col_opts</span><span class='lbrack token'>[</span><span class='symbol val'>:ignored</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='symbol val'>:faceting</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='symbol val'>:facet_by</span><span class='rbrack token'>]</span><span class='rbrack token'>]</span>
1455
+ <span class='@facets ivar id'>@facets</span> <span class='assign token'>=</span> <span class='@data ivar id'>@data</span><span class='dot token'>.</span><span class='faceted_by identifier id'>faceted_by</span> <span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='symbol val'>:faceting</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='symbol val'>:facet_by</span><span class='rbrack token'>]</span>
1456
+ <span class='end end kw'>end</span>
1457
+ <span class='@data ivar id'>@data</span><span class='dot token'>.</span><span class='delete_rows! fid id'>delete_rows!</span> <span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='symbol val'>:dead_rows</span><span class='rbrack token'>]</span> <span class='if if_mod kw'>if</span> <span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='symbol val'>:dead_rows</span><span class='rbrack token'>]</span>
1458
+ <span class='end end kw'>end</span>
1459
+ </pre>
1460
+ </td>
1461
+ </tr>
1462
+ </table>
1463
+ </div>
1464
+
1465
+ <div class="method_details ">
1466
+ <p class="signature " id="paginate!-instance_method">
1467
+
1468
+ - (<tt>Object</tt>) <strong>paginate!</strong>(curr_page)
1469
+
1470
+
1471
+
1472
+ </p><div class="docstring">
1473
+ <div class="discussion">
1474
+ <p>
1475
+ paginate uses TableFu&#8217;s only! method to batch the table. It also
1476
+ computes the page attributes which are nil and meaningless otherwise.
1477
+ </p>
1478
+
1479
+
1480
+ </div>
1481
+ </div>
1482
+ <div class="tags">
1483
+ <h3>Raises:</h3>
1484
+ <ul class="raise">
1485
+
1486
+ <li>
1487
+
1488
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
1489
+
1490
+
1491
+
1492
+
1493
+ </li>
1494
+
1495
+ </ul>
1496
+
1497
+ </div><table class="source_code">
1498
+ <tr>
1499
+ <td>
1500
+ <pre class="lines">
1501
+
1502
+
1503
+ 83
1504
+ 84
1505
+ 85
1506
+ 86
1507
+ 87
1508
+ 88
1509
+ 89
1510
+ 90
1511
+ 91</pre>
1512
+ </td>
1513
+ <td>
1514
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 83</span>
1515
+
1516
+ <span class='def def kw'>def</span> <span class='paginate! fid id'>paginate!</span><span class='lparen token'>(</span><span class='curr_page identifier id'>curr_page</span><span class='rparen token'>)</span>
1517
+ <span class='return return kw'>return</span> <span class='if if_mod kw'>if</span> <span class='notop op'>!</span><span class='hard_paginate? fid id'>hard_paginate?</span>
1518
+ <span class='@page ivar id'>@page</span> <span class='assign token'>=</span> <span class='curr_page identifier id'>curr_page</span><span class='dot token'>.</span><span class='to_i identifier id'>to_i</span>
1519
+ <span class='raise identifier id'>raise</span> <span class='ArgumentError constant id'>ArgumentError</span> <span class='if if_mod kw'>if</span> <span class='@page ivar id'>@page</span> <span class='lt op'>&lt;</span> <span class='integer val'>1</span> <span class='orop op'>||</span> <span class='@page ivar id'>@page</span> <span class='gt op'>&gt;</span> <span class='total_pages identifier id'>total_pages</span>
1520
+ <span class='adj_page identifier id'>adj_page</span> <span class='assign token'>=</span> <span class='@page ivar id'>@page</span> <span class='minus op'>-</span> <span class='integer val'>1</span> <span class='gt op'>&gt;</span> <span class='integer val'>0</span> <span class='question op'>?</span> <span class='@page ivar id'>@page</span> <span class='minus op'>-</span> <span class='integer val'>1</span> <span class='colon op'>:</span> <span class='integer val'>0</span>
1521
+ <span class='@prev_page ivar id'>@prev_page</span> <span class='assign token'>=</span> <span class='adj_page identifier id'>adj_page</span> <span class='gt op'>&gt;</span> <span class='integer val'>0</span> <span class='question op'>?</span> <span class='adj_page identifier id'>adj_page</span> <span class='colon op'>:</span> <span class='nil nil kw'>nil</span>
1522
+ <span class='@next_page ivar id'>@next_page</span> <span class='assign token'>=</span> <span class='page identifier id'>page</span> <span class='lt op'>&lt;</span> <span class='total_pages identifier id'>total_pages</span> <span class='integer val'>? </span><span class='lparen token'>(</span><span class='@page ivar id'>@page</span> <span class='plus op'>+</span> <span class='integer val'>1</span><span class='rparen token'>)</span> <span class='colon op'>:</span> <span class='nil nil kw'>nil</span>
1523
+ <span class='@data ivar id'>@data</span><span class='dot token'>.</span><span class='only! fid id'>only!</span><span class='lparen token'>(</span><span class='adj_page identifier id'>adj_page</span> <span class='mult op'>*</span> <span class='per_page identifier id'>per_page</span><span class='dot2 op'>..</span><span class='lparen token'>(</span><span class='@page ivar id'>@page</span> <span class='mult op'>*</span> <span class='per_page identifier id'>per_page</span> <span class='minus op'>-</span> <span class='integer val'>1</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
1524
+ <span class='end end kw'>end</span>
1525
+ </pre>
1526
+ </td>
1527
+ </tr>
1528
+ </table>
1529
+ </div>
1530
+
1531
+ <div class="method_details ">
1532
+ <p class="signature " id="per_page-instance_method">
1533
+
1534
+ - (<tt>Object</tt>) <strong>per_page</strong>
1535
+
1536
+
1537
+
1538
+ </p><div class="docstring">
1539
+ <div class="discussion">
1540
+ <p>
1541
+ The number of rows per page. Defaults to 20
1542
+ </p>
1543
+
1544
+
1545
+ </div>
1546
+ </div>
1547
+ <div class="tags">
1548
+
1549
+ </div><table class="source_code">
1550
+ <tr>
1551
+ <td>
1552
+ <pre class="lines">
1553
+
1554
+
1555
+ 77
1556
+ 78
1557
+ 79</pre>
1558
+ </td>
1559
+ <td>
1560
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 77</span>
1561
+
1562
+ <span class='def def kw'>def</span> <span class='per_page identifier id'>per_page</span>
1563
+ <span class='@table_opts ivar id'>@table_opts</span><span class='lbrack token'>[</span><span class='symbol val'>:per_page</span><span class='rbrack token'>]</span> <span class='orop op'>||</span> <span class='integer val'>20</span>
1564
+ <span class='end end kw'>end</span>
1565
+ </pre>
1566
+ </td>
1567
+ </tr>
1568
+ </table>
1569
+ </div>
1570
+
1571
+ <div class="method_details ">
1572
+ <p class="signature " id="sort_array-instance_method">
1573
+
1574
+ - (<tt>Object</tt>) <strong>sort_array</strong>
1575
+
1576
+
1577
+
1578
+ </p><div class="docstring">
1579
+ <div class="discussion">
1580
+ <p>
1581
+ A convienence method to return the sort array for table setter.
1582
+ </p>
1583
+
1584
+
1585
+ </div>
1586
+ </div>
1587
+ <div class="tags">
1588
+
1589
+ </div><table class="source_code">
1590
+ <tr>
1591
+ <td>
1592
+ <pre class="lines">
1593
+
1594
+
1595
+ 101
1596
+ 102
1597
+ 103
1598
+ 104
1599
+ 105</pre>
1600
+ </td>
1601
+ <td>
1602
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 101</span>
1603
+
1604
+ <span class='def def kw'>def</span> <span class='sort_array identifier id'>sort_array</span>
1605
+ <span class='@data ivar id'>@data</span><span class='dot token'>.</span><span class='sorted_by identifier id'>sorted_by</span><span class='dot token'>.</span><span class='inject identifier id'>inject</span><span class='lparen token'>(</span><span class='lbrack token'>[</span><span class='rbrack token'>]</span><span class='rparen token'>)</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='memo identifier id'>memo</span><span class='comma token'>,</span> <span class='lparen token'>(</span><span class='key identifier id'>key</span><span class='comma token'>,</span> <span class='value identifier id'>value</span><span class='rparen token'>)</span><span class='bitor op'>|</span>
1606
+ <span class='memo identifier id'>memo</span> <span class='lshft op'>&lt;&lt;</span> <span class='lbrack token'>[</span><span class='@data ivar id'>@data</span><span class='dot token'>.</span><span class='columns identifier id'>columns</span><span class='dot token'>.</span><span class='index identifier id'>index</span><span class='lparen token'>(</span><span class='key identifier id'>key</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='value identifier id'>value</span> <span class='eq op'>==</span> <span class='string val'>'descending'</span> <span class='question op'>?</span> <span class='integer val'>0</span> <span class='colon op'>:</span> <span class='integer val'>1</span><span class='rbrack token'>]</span>
1607
+ <span class='end end kw'>end</span>
1608
+ <span class='end end kw'>end</span>
1609
+ </pre>
1610
+ </td>
1611
+ </tr>
1612
+ </table>
1613
+ </div>
1614
+
1615
+ <div class="method_details ">
1616
+ <p class="signature " id="sortable?-instance_method">
1617
+
1618
+ - (<tt>Boolean</tt>) <strong>sortable?</strong>
1619
+
1620
+
1621
+
1622
+ </p><div class="docstring">
1623
+ <div class="discussion">
1624
+ <p>
1625
+ A table isn&#8217;t sortable by tablesorter if it&#8217;s either faceted or
1626
+ multi-page paginated.
1627
+ </p>
1628
+
1629
+
1630
+ </div>
1631
+ </div>
1632
+ <div class="tags">
1633
+ <h3>Returns:</h3>
1634
+ <ul class="return">
1635
+
1636
+ <li>
1637
+
1638
+ <span class='type'>(<tt>Boolean</tt>)</span>
1639
+
1640
+
1641
+
1642
+
1643
+ </li>
1644
+
1645
+ </ul>
1646
+
1647
+ </div><table class="source_code">
1648
+ <tr>
1649
+ <td>
1650
+ <pre class="lines">
1651
+
1652
+
1653
+ 67
1654
+ 68
1655
+ 69</pre>
1656
+ </td>
1657
+ <td>
1658
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 67</span>
1659
+
1660
+ <span class='def def kw'>def</span> <span class='sortable? fid id'>sortable?</span>
1661
+ <span class='notop op'>!</span><span class='faceted? fid id'>faceted?</span> <span class='andop op'>&amp;&amp;</span> <span class='notop op'>!</span><span class='hard_paginate? fid id'>hard_paginate?</span>
1662
+ <span class='end end kw'>end</span>
1663
+ </pre>
1664
+ </td>
1665
+ </tr>
1666
+ </table>
1667
+ </div>
1668
+
1669
+ <div class="method_details ">
1670
+ <p class="signature " id="total_pages-instance_method">
1671
+
1672
+ - (<tt>Object</tt>) <strong>total_pages</strong>
1673
+
1674
+
1675
+
1676
+ </p><div class="docstring">
1677
+ <div class="discussion">
1678
+ <p>
1679
+ The total pages we&#8217;ll have. We need to calculate it before paginate,
1680
+ so that we still have the full @data.rows.length
1681
+ </p>
1682
+
1683
+
1684
+ </div>
1685
+ </div>
1686
+ <div class="tags">
1687
+
1688
+ </div><table class="source_code">
1689
+ <tr>
1690
+ <td>
1691
+ <pre class="lines">
1692
+
1693
+
1694
+ 96
1695
+ 97
1696
+ 98</pre>
1697
+ </td>
1698
+ <td>
1699
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 96</span>
1700
+
1701
+ <span class='def def kw'>def</span> <span class='total_pages identifier id'>total_pages</span>
1702
+ <span class='@total_pages ivar id'>@total_pages</span> <span class='opasgn op'>||=</span> <span class='lparen token'>(</span><span class='@data ivar id'>@data</span><span class='dot token'>.</span><span class='rows identifier id'>rows</span><span class='dot token'>.</span><span class='length identifier id'>length</span> <span class='div op'>/</span> <span class='per_page identifier id'>per_page</span><span class='dot token'>.</span><span class='to_f identifier id'>to_f</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='ceil identifier id'>ceil</span>
1703
+ <span class='end end kw'>end</span>
1704
+ </pre>
1705
+ </td>
1706
+ </tr>
1707
+ </table>
1708
+ </div>
1709
+
1710
+ <div class="method_details ">
1711
+ <p class="signature " id="updated_at-instance_method">
1712
+
1713
+ - (<tt>Object</tt>) <strong>updated_at</strong>
1714
+
1715
+
1716
+
1717
+ </p><div class="docstring">
1718
+ <div class="discussion">
1719
+ <p>
1720
+ The real <tt>updated_at</tt> of a Table instance is the newer modification
1721
+ time of the csv file or the yaml file. Updates to either resource should
1722
+ break the cache.
1723
+ </p>
1724
+
1725
+
1726
+ </div>
1727
+ </div>
1728
+ <div class="tags">
1729
+
1730
+ </div><table class="source_code">
1731
+ <tr>
1732
+ <td>
1733
+ <pre class="lines">
1734
+
1735
+
1736
+ 57
1737
+ 58
1738
+ 59
1739
+ 60</pre>
1740
+ </td>
1741
+ <td>
1742
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 57</span>
1743
+
1744
+ <span class='def def kw'>def</span> <span class='updated_at identifier id'>updated_at</span>
1745
+ <span class='csv_time identifier id'>csv_time</span> <span class='assign token'>=</span> <span class='google_key identifier id'>google_key</span><span class='dot token'>.</span><span class='nil? fid id'>nil?</span> <span class='integer val'>? </span><span class='modification_time identifier id'>modification_time</span><span class='lparen token'>(</span><span class='uri identifier id'>uri</span><span class='rparen token'>)</span> <span class='colon op'>:</span> <span class='google_modification_time identifier id'>google_modification_time</span>
1746
+ <span class='lparen token'>(</span><span class='csv_time identifier id'>csv_time</span> <span class='gt op'>&gt;</span> <span class='yaml_time identifier id'>yaml_time</span> <span class='integer val'>? </span><span class='csv_time identifier id'>csv_time</span> <span class='colon op'>:</span> <span class='yaml_time identifier id'>yaml_time</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span>
1747
+ <span class='end end kw'>end</span>
1748
+ </pre>
1749
+ </td>
1750
+ </tr>
1751
+ </table>
1752
+ </div>
1753
+
1754
+ <div class="method_details ">
1755
+ <p class="signature " id="uri-instance_method">
1756
+
1757
+ - (<tt>Object</tt>) <strong>uri</strong>
1758
+
1759
+
1760
+
1761
+ </p><div class="docstring">
1762
+ <div class="discussion">
1763
+ <p>
1764
+ Returns a usable uri based on what sort of input we have.
1765
+ </p>
1766
+
1767
+
1768
+ </div>
1769
+ </div>
1770
+ <div class="tags">
1771
+
1772
+ </div><table class="source_code">
1773
+ <tr>
1774
+ <td>
1775
+ <pre class="lines">
1776
+
1777
+
1778
+ 47
1779
+ 48
1780
+ 49
1781
+ 50
1782
+ 51
1783
+ 52
1784
+ 53</pre>
1785
+ </td>
1786
+ <td>
1787
+ <pre class="code"><span class="info file"># File 'lib/table_setter/table.rb', line 47</span>
1788
+
1789
+ <span class='def def kw'>def</span> <span class='uri identifier id'>uri</span>
1790
+ <span class='case case kw'>case</span>
1791
+ <span class='when when kw'>when</span> <span class='google_key identifier id'>google_key</span> <span class='then then kw'>then</span> <span class='dstring node'>&quot;http://spreadsheets.google.com/pub?key=#{google_key}&amp;output=csv&quot;</span>
1792
+ <span class='when when kw'>when</span> <span class='url identifier id'>url</span> <span class='then then kw'>then</span> <span class='url identifier id'>url</span>
1793
+ <span class='when when kw'>when</span> <span class='file identifier id'>file</span> <span class='then then kw'>then</span> <span class='File constant id'>File</span><span class='dot token'>.</span><span class='expand_path identifier id'>expand_path</span><span class='lparen token'>(</span><span class='dstring node'>&quot;#{TableSetter.table_path}#{file}&quot;</span><span class='rparen token'>)</span>
1794
+ <span class='end end kw'>end</span>
1795
+ <span class='end end kw'>end</span>
1796
+ </pre>
1797
+ </td>
1798
+ </tr>
1799
+ </table>
1800
+ </div>
1801
+
1802
+ </div>
1803
+
1804
+ </div>
1805
+
1806
+ <div id="footer">
1807
+ Generated on Tue Mar 9 17:18:07 2010 by
1808
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
1809
+ 0.5.3 (ruby-1.8.7).
1810
+ </div>
1811
+
1812
+ </body>
1813
+ </html>