workbook 0.3.1 → 0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/.yardoc/checksums +21 -18
  2. data/.yardoc/object_types +0 -0
  3. data/.yardoc/objects/root.dat +0 -0
  4. data/Gemfile.lock +4 -4
  5. data/README.md +8 -5
  6. data/doc/RubyXL/Cell.html +18 -19
  7. data/doc/RubyXL/Workbook.html +116 -114
  8. data/doc/RubyXL.html +3 -3
  9. data/doc/Workbook/Book.html +513 -145
  10. data/doc/Workbook/Cell.html +181 -170
  11. data/doc/Workbook/Format.html +591 -77
  12. data/doc/Workbook/Modules/RawObjectsStorage.html +39 -45
  13. data/doc/Workbook/Modules/TableDiffSort.html +225 -87
  14. data/doc/Workbook/Modules/TypeParser.html +182 -131
  15. data/doc/Workbook/Modules.html +3 -3
  16. data/doc/Workbook/Readers/CsvReader.html +101 -39
  17. data/doc/Workbook/Readers/OdsReader.html +564 -0
  18. data/doc/Workbook/Readers/TxtReader.html +12 -14
  19. data/doc/Workbook/Readers/XlsReader.html +154 -138
  20. data/doc/Workbook/Readers/XlsShared.html +71 -72
  21. data/doc/Workbook/Readers/XlsxReader.html +89 -82
  22. data/doc/Workbook/Readers.html +6 -6
  23. data/doc/Workbook/Row.html +421 -206
  24. data/doc/Workbook/Sheet.html +379 -32
  25. data/doc/Workbook/Table.html +328 -90
  26. data/doc/Workbook/Template.html +55 -60
  27. data/doc/Workbook/Writers/CsvTableWriter.html +33 -8
  28. data/doc/Workbook/Writers/HtmlWriter.html +393 -0
  29. data/doc/Workbook/Writers/XlsWriter.html +132 -92
  30. data/doc/Workbook/Writers.html +5 -5
  31. data/doc/Workbook.html +16 -4
  32. data/doc/_index.html +45 -15
  33. data/doc/class_list.html +1 -1
  34. data/doc/css/style.css +10 -0
  35. data/doc/file.README.html +53 -48
  36. data/doc/frames.html +1 -1
  37. data/doc/index.html +53 -48
  38. data/doc/method_list.html +232 -56
  39. data/doc/top-level-namespace.html +3 -3
  40. data/lib/workbook/book.rb +27 -1
  41. data/lib/workbook/format.rb +46 -7
  42. data/lib/workbook/modules/type_parser.rb +8 -1
  43. data/lib/workbook/readers/ods_reader.rb +93 -0
  44. data/lib/workbook/row.rb +7 -0
  45. data/lib/workbook/sheet.rb +10 -0
  46. data/lib/workbook/version.rb +1 -1
  47. data/lib/workbook/writers/html_writer.rb +56 -0
  48. data/test/artifacts/book_with_tabs_and_colours.ods +0 -0
  49. data/test/artifacts/complex_types.ods +0 -0
  50. data/test/artifacts/excel_different_types.ods +0 -0
  51. data/test/artifacts/simple_sheet.ods +0 -0
  52. data/test/test_book.rb +6 -0
  53. data/test/test_format.rb +39 -0
  54. data/test/test_modules_type_parser.rb +2 -0
  55. data/test/test_readers_csv_reader.rb +44 -0
  56. data/test/test_readers_ods_reader.rb +51 -0
  57. data/test/test_readers_txt_reader.rb +53 -0
  58. data/test/test_row.rb +12 -0
  59. data/test/test_sheet.rb +12 -0
  60. data/test/test_writers_html_writer.rb +37 -0
  61. data/workbook.gemspec +2 -2
  62. metadata +21 -4
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Workbook::Book
8
8
 
9
- &mdash; Documentation by YARD 0.8.3
9
+ &mdash; Documentation by YARD 0.8.5.2
10
10
 
11
11
  </title>
12
12
 
@@ -93,7 +93,7 @@
93
93
 
94
94
 
95
95
  <dt class="r2">Includes:</dt>
96
- <dd class="r2"><span class='object_link'><a href="Readers/CsvReader.html" title="Workbook::Readers::CsvReader (module)">Readers::CsvReader</a></span>, <span class='object_link'><a href="Readers/TxtReader.html" title="Workbook::Readers::TxtReader (module)">Readers::TxtReader</a></span>, <span class='object_link'><a href="Readers/XlsReader.html" title="Workbook::Readers::XlsReader (module)">Readers::XlsReader</a></span>, <span class='object_link'><a href="Readers/XlsShared.html" title="Workbook::Readers::XlsShared (module)">Readers::XlsShared</a></span>, <span class='object_link'><a href="Readers/XlsxReader.html" title="Workbook::Readers::XlsxReader (module)">Readers::XlsxReader</a></span>, <span class='object_link'><a href="Writers/XlsWriter.html" title="Workbook::Writers::XlsWriter (module)">Writers::XlsWriter</a></span></dd>
96
+ <dd class="r2"><span class='object_link'><a href="Readers/CsvReader.html" title="Workbook::Readers::CsvReader (module)">Readers::CsvReader</a></span>, <span class='object_link'><a href="Readers/OdsReader.html" title="Workbook::Readers::OdsReader (module)">Readers::OdsReader</a></span>, <span class='object_link'><a href="Readers/TxtReader.html" title="Workbook::Readers::TxtReader (module)">Readers::TxtReader</a></span>, <span class='object_link'><a href="Readers/XlsReader.html" title="Workbook::Readers::XlsReader (module)">Readers::XlsReader</a></span>, <span class='object_link'><a href="Readers/XlsShared.html" title="Workbook::Readers::XlsShared (module)">Readers::XlsShared</a></span>, <span class='object_link'><a href="Readers/XlsxReader.html" title="Workbook::Readers::XlsxReader (module)">Readers::XlsxReader</a></span>, <span class='object_link'><a href="Writers/HtmlWriter.html" title="Workbook::Writers::HtmlWriter (module)">Writers::HtmlWriter</a></span>, <span class='object_link'><a href="Writers/XlsWriter.html" title="Workbook::Writers::XlsWriter (module)">Writers::XlsWriter</a></span></dd>
97
97
 
98
98
 
99
99
 
@@ -222,6 +222,31 @@ reference to a template class, storing shared formatting options.</p>
222
222
  <p>Create an instance from a file, using open.</p>
223
223
  </div></span>
224
224
 
225
+ </li>
226
+
227
+
228
+ <li class="public ">
229
+ <span class="summary_signature">
230
+
231
+ <a href="#read-class_method" title="read (class method)">+ (Workbook::Book) <strong>read</strong>(stringio_or_string, filetype) </a>
232
+
233
+
234
+
235
+ </span>
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+ <span class="summary_desc"><div class='inline'>
246
+ <p>Create an instance from the given stream or string, which should be in CSV
247
+ or TXT format.</p>
248
+ </div></span>
249
+
225
250
  </li>
226
251
 
227
252
 
@@ -425,6 +450,30 @@ to the extension determined loaded.</p>
425
450
  default is a new sheet).</p>
426
451
  </div></span>
427
452
 
453
+ </li>
454
+
455
+
456
+ <li class="public ">
457
+ <span class="summary_signature">
458
+
459
+ <a href="#read-instance_method" title="#read (instance method)">- (Object) <strong>read</strong>(stringio_or_string, filetype) </a>
460
+
461
+
462
+
463
+ </span>
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+ <span class="summary_desc"><div class='inline'>
474
+ <p>Load the CSV data contained in the given StringIO or String object.</p>
475
+ </div></span>
476
+
428
477
  </li>
429
478
 
430
479
 
@@ -449,6 +498,30 @@ default is a new sheet).</p>
449
498
  <p>Sheet returns the first sheet of a workbook, or an empty one.</p>
450
499
  </div></span>
451
500
 
501
+ </li>
502
+
503
+
504
+ <li class="public ">
505
+ <span class="summary_signature">
506
+
507
+ <a href="#text_to_utf8-instance_method" title="#text_to_utf8 (instance method)">- (Object) <strong>text_to_utf8</strong>(text) </a>
508
+
509
+
510
+
511
+ </span>
512
+
513
+
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+ <span class="summary_desc"><div class='inline'>
522
+ <p>Helper method to convert text in a file to UTF-8.</p>
523
+ </div></span>
524
+
452
525
  </li>
453
526
 
454
527
 
@@ -476,7 +549,7 @@ default is a new sheet).</p>
476
549
 
477
550
 
478
551
  <h3 class="inherited">Methods included from <span class='object_link'><a href="Readers/CsvReader.html" title="Workbook::Readers::CsvReader (module)">Readers::CsvReader</a></span></h3>
479
- <p class="inherited"><span class='object_link'><a href="Readers/CsvReader.html#load_csv-instance_method" title="Workbook::Readers::CsvReader#load_csv (method)">#load_csv</a></span>, <span class='object_link'><a href="Readers/CsvReader.html#parse_csv-instance_method" title="Workbook::Readers::CsvReader#parse_csv (method)">#parse_csv</a></span></p>
552
+ <p class="inherited"><span class='object_link'><a href="Readers/CsvReader.html#csv_lib-instance_method" title="Workbook::Readers::CsvReader#csv_lib (method)">#csv_lib</a></span>, <span class='object_link'><a href="Readers/CsvReader.html#load_csv-instance_method" title="Workbook::Readers::CsvReader#load_csv (method)">#load_csv</a></span>, <span class='object_link'><a href="Readers/CsvReader.html#parse_csv-instance_method" title="Workbook::Readers::CsvReader#parse_csv (method)">#parse_csv</a></span></p>
480
553
 
481
554
 
482
555
 
@@ -487,7 +560,18 @@ default is a new sheet).</p>
487
560
 
488
561
 
489
562
  <h3 class="inherited">Methods included from <span class='object_link'><a href="Readers/XlsxReader.html" title="Workbook::Readers::XlsxReader (module)">Readers::XlsxReader</a></span></h3>
490
- <p class="inherited"><span class='object_link'><a href="Readers/XlsxReader.html#load_xlsx-instance_method" title="Workbook::Readers::XlsxReader#load_xlsx (method)">#load_xlsx</a></span>, <span class='object_link'><a href="Readers/XlsxReader.html#ms_formatting_to_strftime-instance_method" title="Workbook::Readers::XlsxReader#ms_formatting_to_strftime (method)">#ms_formatting_to_strftime</a></span>, <span class='object_link'><a href="Readers/XlsxReader.html#parse_xlsx-instance_method" title="Workbook::Readers::XlsxReader#parse_xlsx (method)">#parse_xlsx</a></span></p>
563
+ <p class="inherited"><span class='object_link'><a href="Readers/XlsxReader.html#load_xlsx-instance_method" title="Workbook::Readers::XlsxReader#load_xlsx (method)">#load_xlsx</a></span>, <span class='object_link'><a href="Readers/XlsxReader.html#parse_xlsx-instance_method" title="Workbook::Readers::XlsxReader#parse_xlsx (method)">#parse_xlsx</a></span></p>
564
+
565
+
566
+
567
+
568
+
569
+
570
+
571
+
572
+
573
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="Readers/OdsReader.html" title="Workbook::Readers::OdsReader (module)">Readers::OdsReader</a></span></h3>
574
+ <p class="inherited"><span class='object_link'><a href="Readers/OdsReader.html#load_ods-instance_method" title="Workbook::Readers::OdsReader#load_ods (method)">#load_ods</a></span>, <span class='object_link'><a href="Readers/OdsReader.html#parse_ods-instance_method" title="Workbook::Readers::OdsReader#parse_ods (method)">#parse_ods</a></span>, <span class='object_link'><a href="Readers/OdsReader.html#parse_ods_style-instance_method" title="Workbook::Readers::OdsReader#parse_ods_style (method)">#parse_ods_style</a></span>, <span class='object_link'><a href="Readers/OdsReader.html#set_format_property-instance_method" title="Workbook::Readers::OdsReader#set_format_property (method)">#set_format_property</a></span></p>
491
575
 
492
576
 
493
577
 
@@ -498,7 +582,18 @@ default is a new sheet).</p>
498
582
 
499
583
 
500
584
  <h3 class="inherited">Methods included from <span class='object_link'><a href="Readers/XlsReader.html" title="Workbook::Readers::XlsReader (module)">Readers::XlsReader</a></span></h3>
501
- <p class="inherited"><span class='object_link'><a href="Readers/XlsReader.html#load_xls-instance_method" title="Workbook::Readers::XlsReader#load_xls (method)">#load_xls</a></span>, <span class='object_link'><a href="Readers/XlsReader.html#ms_formatting_to_strftime-instance_method" title="Workbook::Readers::XlsReader#ms_formatting_to_strftime (method)">#ms_formatting_to_strftime</a></span>, <span class='object_link'><a href="Readers/XlsReader.html#parse_xls-instance_method" title="Workbook::Readers::XlsReader#parse_xls (method)">#parse_xls</a></span>, <span class='object_link'><a href="Readers/XlsReader.html#xls_color_to_html_hex-instance_method" title="Workbook::Readers::XlsReader#xls_color_to_html_hex (method)">#xls_color_to_html_hex</a></span></p>
585
+ <p class="inherited"><span class='object_link'><a href="Readers/XlsReader.html#load_xls-instance_method" title="Workbook::Readers::XlsReader#load_xls (method)">#load_xls</a></span>, <span class='object_link'><a href="Readers/XlsReader.html#parse_xls-instance_method" title="Workbook::Readers::XlsReader#parse_xls (method)">#parse_xls</a></span></p>
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="Writers/HtmlWriter.html" title="Workbook::Writers::HtmlWriter (module)">Writers::HtmlWriter</a></span></h3>
596
+ <p class="inherited"><span class='object_link'><a href="Writers/HtmlWriter.html#to_html-instance_method" title="Workbook::Writers::HtmlWriter#to_html (method)">#to_html</a></span>, <span class='object_link'><a href="Writers/HtmlWriter.html#write_to_html-instance_method" title="Workbook::Writers::HtmlWriter#write_to_html (method)">#write_to_html</a></span></p>
502
597
 
503
598
 
504
599
 
@@ -567,25 +662,24 @@ based on the array</p>
567
662
  <pre class="lines">
568
663
 
569
664
 
570
- 26
571
- 27
572
- 28
573
- 29
574
665
  30
575
666
  31
576
- 32</pre>
667
+ 32
668
+ 33
669
+ 34
670
+ 35
671
+ 36</pre>
577
672
  </td>
578
673
  <td>
579
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 26</span>
580
-
581
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_initialize identifier id'>initialize</span> <span class='rubyid_sheet identifier id'>sheet</span><span class='assign token'>=</span><span class='rubyid_Workbook constant id'>Workbook</span><span class='colon2 op'>::</span><span class='rubyid_Sheet constant id'>Sheet</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='lbrack token'>[</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='rubyid_self self kw'>self</span><span class='comma token'>,</span> <span class='rubyid_options identifier id'>options</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='rparen token'>)</span>
582
- <span class='rubyid_if if kw'>if</span> <span class='rubyid_sheet identifier id'>sheet</span><span class='dot token'>.</span><span class='rubyid_is_a? fid id'>is_a?</span> <span class='rubyid_Workbook constant id'>Workbook</span><span class='colon2 op'>::</span><span class='rubyid_Sheet constant id'>Sheet</span>
583
- <span class='rubyid_push identifier id'>push</span> <span class='rubyid_sheet identifier id'>sheet</span>
584
- <span class='rubyid_else else kw'>else</span>
585
- <span class='rubyid_push identifier id'>push</span> <span class='rubyid_Workbook constant id'>Workbook</span><span class='colon2 op'>::</span><span class='rubyid_Sheet constant id'>Sheet</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_sheet identifier id'>sheet</span><span class='comma token'>,</span> <span class='rubyid_self self kw'>self</span><span class='comma token'>,</span> <span class='rubyid_options identifier id'>options</span><span class='rparen token'>)</span>
586
- <span class='rubyid_end end kw'>end</span>
587
- <span class='rubyid_end end kw'>end</span>
588
- </pre>
674
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 30</span>
675
+
676
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span> <span class='id identifier rubyid_sheet'>sheet</span><span class='op'>=</span><span class='const'>Workbook</span><span class='op'>::</span><span class='const'>Sheet</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
677
+ <span class='kw'>if</span> <span class='id identifier rubyid_sheet'>sheet</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='const'>Workbook</span><span class='op'>::</span><span class='const'>Sheet</span>
678
+ <span class='id identifier rubyid_push'>push</span> <span class='id identifier rubyid_sheet'>sheet</span>
679
+ <span class='kw'>else</span>
680
+ <span class='id identifier rubyid_push'>push</span> <span class='const'>Workbook</span><span class='op'>::</span><span class='const'>Sheet</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_sheet'>sheet</span><span class='comma'>,</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
681
+ <span class='kw'>end</span>
682
+ <span class='kw'>end</span></pre>
589
683
  </td>
590
684
  </tr>
591
685
  </table>
@@ -642,17 +736,16 @@ based on the array</p>
642
736
  <pre class="lines">
643
737
 
644
738
 
645
- 35
646
- 36
647
- 37</pre>
739
+ 39
740
+ 40
741
+ 41</pre>
648
742
  </td>
649
743
  <td>
650
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 35</span>
744
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 39</span>
651
745
 
652
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_template identifier id'>template</span>
653
- <span class='rubyid_@template ivar id'>@template</span>
654
- <span class='rubyid_end end kw'>end</span>
655
- </pre>
746
+ <span class='kw'>def</span> <span class='id identifier rubyid_template'>template</span>
747
+ <span class='ivar'>@template</span>
748
+ <span class='kw'>end</span></pre>
656
749
  </td>
657
750
  </tr>
658
751
  </table>
@@ -704,17 +797,16 @@ based on the array</p>
704
797
  <pre class="lines">
705
798
 
706
799
 
707
- 48
708
- 49
709
- 50</pre>
800
+ 52
801
+ 53
802
+ 54</pre>
710
803
  </td>
711
804
  <td>
712
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 48</span>
805
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 52</span>
713
806
 
714
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_title identifier id'>title</span>
715
- <span class='rubyid_@title ivar id'>@title</span>
716
- <span class='rubyid_end end kw'>end</span>
717
- </pre>
807
+ <span class='kw'>def</span> <span class='id identifier rubyid_title'>title</span>
808
+ <span class='ivar'>@title</span>
809
+ <span class='kw'>end</span></pre>
718
810
  </td>
719
811
  </tr>
720
812
  </table>
@@ -810,21 +902,120 @@ of the file, this option allows you to override the default.</p>
810
902
  <pre class="lines">
811
903
 
812
904
 
813
- 124
814
- 125
815
- 126
816
- 127
817
- 128</pre>
905
+ 150
906
+ 151
907
+ 152
908
+ 153
909
+ 154</pre>
910
+ </td>
911
+ <td>
912
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 150</span>
913
+
914
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span> <span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='id identifier rubyid_extension'>extension</span><span class='op'>=</span><span class='kw'>nil</span>
915
+ <span class='id identifier rubyid_wb'>wb</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
916
+ <span class='id identifier rubyid_wb'>wb</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span> <span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='id identifier rubyid_extension'>extension</span>
917
+ <span class='kw'>return</span> <span class='id identifier rubyid_wb'>wb</span>
918
+ <span class='kw'>end</span></pre>
919
+ </td>
920
+ </tr>
921
+ </table>
922
+ </div>
923
+
924
+ <div class="method_details ">
925
+ <h3 class="signature " id="read-class_method">
926
+
927
+ + (<tt><span class='object_link'><a href="" title="Workbook::Book (class)">Workbook::Book</a></span></tt>) <strong>read</strong>(stringio_or_string, filetype)
928
+
929
+
930
+
931
+
932
+
933
+ </h3><div class="docstring">
934
+ <div class="discussion">
935
+
936
+ <p>Create an instance from the given stream or string, which should be in CSV
937
+ or TXT format</p>
938
+
939
+
940
+ </div>
941
+ </div>
942
+ <div class="tags">
943
+ <p class="tag_title">Parameters:</p>
944
+ <ul class="param">
945
+
946
+ <li>
947
+
948
+ <span class='name'>stringio_or_string</span>
949
+
950
+
951
+ <span class='type'>(<tt>StringIO</tt>)</span>
952
+
953
+
954
+
955
+ &mdash;
956
+ <div class='inline'>
957
+ <p>StringIO stream or String object, with data in CSV or TXT format</p>
958
+ </div>
959
+
960
+ </li>
961
+
962
+ <li>
963
+
964
+ <span class='name'>filetype</span>
965
+
966
+
967
+ <span class='type'>(<tt>Symbol</tt>)</span>
968
+
969
+
970
+
971
+ &mdash;
972
+ <div class='inline'>
973
+ <p>(currently only :csv or :txt), indicating the format of the first parameter</p>
974
+ </div>
975
+
976
+ </li>
977
+
978
+ </ul>
979
+
980
+ <p class="tag_title">Returns:</p>
981
+ <ul class="return">
982
+
983
+ <li>
984
+
985
+
986
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Workbook::Book (class)">Workbook::Book</a></span></tt>)</span>
987
+
988
+
989
+
990
+ &mdash;
991
+ <div class='inline'>
992
+ <p>A new instance</p>
993
+ </div>
994
+
995
+ </li>
996
+
997
+ </ul>
998
+
999
+ </div><table class="source_code">
1000
+ <tr>
1001
+ <td>
1002
+ <pre class="lines">
1003
+
1004
+
1005
+ 161
1006
+ 162
1007
+ 163
1008
+ 164
1009
+ 165</pre>
818
1010
  </td>
819
1011
  <td>
820
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 124</span>
821
-
822
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_open identifier id'>open</span> <span class='rubyid_filename identifier id'>filename</span><span class='comma token'>,</span> <span class='rubyid_extension identifier id'>extension</span><span class='assign token'>=</span><span class='rubyid_nil nil kw'>nil</span>
823
- <span class='rubyid_wb identifier id'>wb</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span>
824
- <span class='rubyid_wb identifier id'>wb</span><span class='dot token'>.</span><span class='rubyid_open identifier id'>open</span> <span class='rubyid_filename identifier id'>filename</span><span class='comma token'>,</span> <span class='rubyid_extension identifier id'>extension</span>
825
- <span class='rubyid_return return kw'>return</span> <span class='rubyid_wb identifier id'>wb</span>
826
- <span class='rubyid_end end kw'>end</span>
827
- </pre>
1012
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 161</span>
1013
+
1014
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_stringio_or_string'>stringio_or_string</span><span class='comma'>,</span> <span class='id identifier rubyid_filetype'>filetype</span><span class='rparen'>)</span>
1015
+ <span class='id identifier rubyid_wb'>wb</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1016
+ <span class='id identifier rubyid_wb'>wb</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_stringio_or_string'>stringio_or_string</span><span class='comma'>,</span> <span class='id identifier rubyid_filetype'>filetype</span><span class='rparen'>)</span>
1017
+ <span class='id identifier rubyid_wb'>wb</span>
1018
+ <span class='kw'>end</span></pre>
828
1019
  </td>
829
1020
  </tr>
830
1021
  </table>
@@ -882,23 +1073,22 @@ of the file, this option allows you to override the default.</p>
882
1073
  <pre class="lines">
883
1074
 
884
1075
 
885
- 133
886
- 134
887
- 135
888
- 136
889
- 137
890
- 138</pre>
1076
+ 181
1077
+ 182
1078
+ 183
1079
+ 184
1080
+ 185
1081
+ 186</pre>
891
1082
  </td>
892
1083
  <td>
893
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 133</span>
894
-
895
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_create_or_open_sheet_at identifier id'>create_or_open_sheet_at</span> <span class='rubyid_index identifier id'>index</span>
896
- <span class='rubyid_s identifier id'>s</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='lbrack token'>[</span><span class='rubyid_index identifier id'>index</span><span class='rbrack token'>]</span>
897
- <span class='rubyid_s identifier id'>s</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span><span class='lbrack token'>[</span><span class='rubyid_index identifier id'>index</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='rubyid_Workbook constant id'>Workbook</span><span class='colon2 op'>::</span><span class='rubyid_Sheet constant id'>Sheet</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_s identifier id'>s</span> <span class='eq op'>==</span> <span class='rubyid_nil nil kw'>nil</span>
898
- <span class='rubyid_s identifier id'>s</span><span class='dot token'>.</span><span class='rubyid_book identifier id'>book</span> <span class='assign token'>=</span> <span class='rubyid_self self kw'>self</span>
899
- <span class='rubyid_s identifier id'>s</span>
900
- <span class='rubyid_end end kw'>end</span>
901
- </pre>
1084
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 181</span>
1085
+
1086
+ <span class='kw'>def</span> <span class='id identifier rubyid_create_or_open_sheet_at'>create_or_open_sheet_at</span> <span class='id identifier rubyid_index'>index</span>
1087
+ <span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='kw'>self</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span>
1088
+ <span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='kw'>self</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Workbook</span><span class='op'>::</span><span class='const'>Sheet</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>if</span> <span class='id identifier rubyid_s'>s</span> <span class='op'>==</span> <span class='kw'>nil</span>
1089
+ <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_book'>book</span> <span class='op'>=</span> <span class='kw'>self</span>
1090
+ <span class='id identifier rubyid_s'>s</span>
1091
+ <span class='kw'>end</span></pre>
902
1092
  </td>
903
1093
  </tr>
904
1094
  </table>
@@ -968,17 +1158,16 @@ of the file, this option allows you to override the default.</p>
968
1158
  <pre class="lines">
969
1159
 
970
1160
 
971
- 115
972
- 116
973
- 117</pre>
1161
+ 141
1162
+ 142
1163
+ 143</pre>
974
1164
  </td>
975
1165
  <td>
976
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 115</span>
1166
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 141</span>
977
1167
 
978
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_file_extension identifier id'>file_extension</span><span class='lparen token'>(</span><span class='rubyid_filename identifier id'>filename</span><span class='rparen token'>)</span>
979
- <span class='rubyid_File constant id'>File</span><span class='dot token'>.</span><span class='rubyid_extname identifier id'>extname</span><span class='lparen token'>(</span><span class='rubyid_filename identifier id'>filename</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='rubyid_gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='string val'>'.'</span><span class='comma token'>,</span><span class='string val'>''</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='rubyid_downcase identifier id'>downcase</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_filename identifier id'>filename</span>
980
- <span class='rubyid_end end kw'>end</span>
981
- </pre>
1168
+ <span class='kw'>def</span> <span class='id identifier rubyid_file_extension'>file_extension</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span>
1169
+ <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_extname'>extname</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.</span><span class='tstring_end'>'</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='kw'>if</span> <span class='id identifier rubyid_filename'>filename</span>
1170
+ <span class='kw'>end</span></pre>
982
1171
  </td>
983
1172
  </tr>
984
1173
  </table>
@@ -1028,17 +1217,16 @@ of the file, this option allows you to override the default.</p>
1028
1217
  <pre class="lines">
1029
1218
 
1030
1219
 
1031
- 70
1032
- 71
1033
- 72</pre>
1220
+ 74
1221
+ 75
1222
+ 76</pre>
1034
1223
  </td>
1035
1224
  <td>
1036
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 70</span>
1225
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 74</span>
1037
1226
 
1038
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_has_contents? fid id'>has_contents?</span>
1039
- <span class='rubyid_sheet identifier id'>sheet</span><span class='dot token'>.</span><span class='rubyid_has_contents? fid id'>has_contents?</span>
1040
- <span class='rubyid_end end kw'>end</span>
1041
- </pre>
1227
+ <span class='kw'>def</span> <span class='id identifier rubyid_has_contents?'>has_contents?</span>
1228
+ <span class='id identifier rubyid_sheet'>sheet</span><span class='period'>.</span><span class='id identifier rubyid_has_contents?'>has_contents?</span>
1229
+ <span class='kw'>end</span></pre>
1042
1230
  </td>
1043
1231
  </tr>
1044
1232
  </table>
@@ -1127,27 +1315,26 @@ e.g. ‘txt’, ‘csv’ or ‘xls’)</p>
1127
1315
  <pre class="lines">
1128
1316
 
1129
1317
 
1130
- 79
1131
- 80
1132
- 81
1133
- 82
1134
1318
  83
1135
1319
  84
1136
1320
  85
1137
- 86</pre>
1321
+ 86
1322
+ 87
1323
+ 88
1324
+ 89
1325
+ 90</pre>
1138
1326
  </td>
1139
1327
  <td>
1140
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 79</span>
1141
-
1142
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_open identifier id'>open</span> <span class='rubyid_filename identifier id'>filename</span><span class='comma token'>,</span> <span class='rubyid_extension identifier id'>extension</span><span class='assign token'>=</span><span class='rubyid_nil nil kw'>nil</span>
1143
- <span class='rubyid_extension identifier id'>extension</span> <span class='assign token'>=</span> <span class='rubyid_file_extension identifier id'>file_extension</span><span class='lparen token'>(</span><span class='rubyid_filename identifier id'>filename</span><span class='rparen token'>)</span> <span class='rubyid_unless unless_mod kw'>unless</span> <span class='rubyid_extension identifier id'>extension</span>
1144
- <span class='rubyid_if if kw'>if</span> <span class='lbrack token'>[</span><span class='string val'>'txt'</span><span class='comma token'>,</span><span class='string val'>'csv'</span><span class='comma token'>,</span><span class='string val'>'xml'</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_include? fid id'>include?</span><span class='lparen token'>(</span><span class='rubyid_extension identifier id'>extension</span><span class='rparen token'>)</span>
1145
- <span class='rubyid_open_text identifier id'>open_text</span> <span class='rubyid_filename identifier id'>filename</span><span class='comma token'>,</span> <span class='rubyid_extension identifier id'>extension</span>
1146
- <span class='rubyid_else else kw'>else</span>
1147
- <span class='rubyid_open_binary identifier id'>open_binary</span> <span class='rubyid_filename identifier id'>filename</span><span class='comma token'>,</span> <span class='rubyid_extension identifier id'>extension</span>
1148
- <span class='rubyid_end end kw'>end</span>
1149
- <span class='rubyid_end end kw'>end</span>
1150
- </pre>
1328
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 83</span>
1329
+
1330
+ <span class='kw'>def</span> <span class='id identifier rubyid_open'>open</span> <span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='id identifier rubyid_extension'>extension</span><span class='op'>=</span><span class='kw'>nil</span>
1331
+ <span class='id identifier rubyid_extension'>extension</span> <span class='op'>=</span> <span class='id identifier rubyid_file_extension'>file_extension</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_extension'>extension</span>
1332
+ <span class='kw'>if</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>txt</span><span class='tstring_end'>'</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>csv</span><span class='tstring_end'>'</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>xml</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_extension'>extension</span><span class='rparen'>)</span>
1333
+ <span class='id identifier rubyid_open_text'>open_text</span> <span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='id identifier rubyid_extension'>extension</span>
1334
+ <span class='kw'>else</span>
1335
+ <span class='id identifier rubyid_open_binary'>open_binary</span> <span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='id identifier rubyid_extension'>extension</span>
1336
+ <span class='kw'>end</span>
1337
+ <span class='kw'>end</span></pre>
1151
1338
  </td>
1152
1339
  </tr>
1153
1340
  </table>
@@ -1237,21 +1424,20 @@ e.g. ‘txt’, ‘csv’ or ‘xls’)</p>
1237
1424
  <pre class="lines">
1238
1425
 
1239
1426
 
1240
- 93
1241
- 94
1242
- 95
1243
- 96
1244
- 97</pre>
1427
+ 97
1428
+ 98
1429
+ 99
1430
+ 100
1431
+ 101</pre>
1245
1432
  </td>
1246
1433
  <td>
1247
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 93</span>
1248
-
1249
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_open_binary identifier id'>open_binary</span> <span class='rubyid_filename identifier id'>filename</span><span class='comma token'>,</span> <span class='rubyid_extension identifier id'>extension</span><span class='assign token'>=</span><span class='rubyid_nil nil kw'>nil</span>
1250
- <span class='rubyid_extension identifier id'>extension</span> <span class='assign token'>=</span> <span class='rubyid_file_extension identifier id'>file_extension</span><span class='lparen token'>(</span><span class='rubyid_filename identifier id'>filename</span><span class='rparen token'>)</span> <span class='rubyid_unless unless_mod kw'>unless</span> <span class='rubyid_extension identifier id'>extension</span>
1251
- <span class='rubyid_f identifier id'>f</span> <span class='assign token'>=</span> <span class='rubyid_File constant id'>File</span><span class='dot token'>.</span><span class='rubyid_open identifier id'>open</span><span class='lparen token'>(</span><span class='rubyid_filename identifier id'>filename</span><span class='comma token'>,</span><span class='string val'>'rb'</span><span class='rparen token'>)</span>
1252
- <span class='rubyid_send identifier id'>send</span><span class='lparen token'>(</span><span class='dstring node'>&quot;load_#{extension}&quot;</span><span class='dot token'>.</span><span class='rubyid_to_sym identifier id'>to_sym</span><span class='comma token'>,</span><span class='rubyid_f identifier id'>f</span><span class='rparen token'>)</span>
1253
- <span class='rubyid_end end kw'>end</span>
1254
- </pre>
1434
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 97</span>
1435
+
1436
+ <span class='kw'>def</span> <span class='id identifier rubyid_open_binary'>open_binary</span> <span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='id identifier rubyid_extension'>extension</span><span class='op'>=</span><span class='kw'>nil</span>
1437
+ <span class='id identifier rubyid_extension'>extension</span> <span class='op'>=</span> <span class='id identifier rubyid_file_extension'>file_extension</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_extension'>extension</span>
1438
+ <span class='id identifier rubyid_f'>f</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rb</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
1439
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>load_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_extension'>extension</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span><span class='id identifier rubyid_f'>f</span><span class='rparen'>)</span>
1440
+ <span class='kw'>end</span></pre>
1255
1441
  </td>
1256
1442
  </tr>
1257
1443
  </table>
@@ -1322,27 +1508,24 @@ e.g. ‘txt’, ‘csv’ or ‘xls’)</p>
1322
1508
  <pre class="lines">
1323
1509
 
1324
1510
 
1325
- 103
1326
- 104
1327
- 105
1328
- 106
1329
1511
  107
1330
1512
  108
1331
1513
  109
1332
- 110</pre>
1514
+ 110
1515
+ 111
1516
+ 112
1517
+ 113</pre>
1333
1518
  </td>
1334
1519
  <td>
1335
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 103</span>
1336
-
1337
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_open_text identifier id'>open_text</span> <span class='rubyid_filename identifier id'>filename</span><span class='comma token'>,</span> <span class='rubyid_extension identifier id'>extension</span><span class='assign token'>=</span><span class='rubyid_nil nil kw'>nil</span>
1338
- <span class='rubyid_extension identifier id'>extension</span> <span class='assign token'>=</span> <span class='rubyid_file_extension identifier id'>file_extension</span><span class='lparen token'>(</span><span class='rubyid_filename identifier id'>filename</span><span class='rparen token'>)</span> <span class='rubyid_unless unless_mod kw'>unless</span> <span class='rubyid_extension identifier id'>extension</span>
1339
- <span class='rubyid_f identifier id'>f</span> <span class='assign token'>=</span> <span class='rubyid_File constant id'>File</span><span class='dot token'>.</span><span class='rubyid_open identifier id'>open</span><span class='lparen token'>(</span><span class='rubyid_filename identifier id'>filename</span><span class='comma token'>,</span><span class='string val'>'r'</span><span class='rparen token'>)</span>
1340
- <span class='rubyid_t identifier id'>t</span> <span class='assign token'>=</span> <span class='rubyid_f identifier id'>f</span><span class='dot token'>.</span><span class='rubyid_read identifier id'>read</span>
1341
- <span class='rubyid_detected_encoding identifier id'>detected_encoding</span> <span class='assign token'>=</span> <span class='rubyid_CharDet constant id'>CharDet</span><span class='dot token'>.</span><span class='rubyid_detect identifier id'>detect</span><span class='lparen token'>(</span><span class='rubyid_t identifier id'>t</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='string val'>'encoding'</span><span class='rbrack token'>]</span>
1342
- <span class='rubyid_t identifier id'>t</span> <span class='assign token'>=</span> <span class='rubyid_Iconv constant id'>Iconv</span><span class='dot token'>.</span><span class='rubyid_conv identifier id'>conv</span><span class='lparen token'>(</span><span class='string val'>&quot;UTF-8//TRANSLIT//IGNORE&quot;</span><span class='comma token'>,</span><span class='rubyid_detected_encoding identifier id'>detected_encoding</span><span class='comma token'>,</span><span class='rubyid_t identifier id'>t</span><span class='rparen token'>)</span>
1343
- <span class='rubyid_send identifier id'>send</span><span class='lparen token'>(</span><span class='dstring node'>&quot;load_#{extension}&quot;</span><span class='dot token'>.</span><span class='rubyid_to_sym identifier id'>to_sym</span><span class='comma token'>,</span><span class='rubyid_t identifier id'>t</span><span class='rparen token'>)</span>
1344
- <span class='rubyid_end end kw'>end</span>
1345
- </pre>
1520
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 107</span>
1521
+
1522
+ <span class='kw'>def</span> <span class='id identifier rubyid_open_text'>open_text</span> <span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='id identifier rubyid_extension'>extension</span><span class='op'>=</span><span class='kw'>nil</span>
1523
+ <span class='id identifier rubyid_extension'>extension</span> <span class='op'>=</span> <span class='id identifier rubyid_file_extension'>file_extension</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_extension'>extension</span>
1524
+ <span class='id identifier rubyid_f'>f</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>r</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
1525
+ <span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span>
1526
+ <span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_text_to_utf8'>text_to_utf8</span><span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span>
1527
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>load_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_extension'>extension</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span><span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span>
1528
+ <span class='kw'>end</span></pre>
1346
1529
  </td>
1347
1530
  </tr>
1348
1531
  </table>
@@ -1392,17 +1575,112 @@ default is a new sheet)</p>
1392
1575
  <pre class="lines">
1393
1576
 
1394
1577
 
1395
- 55
1396
- 56
1397
- 57</pre>
1578
+ 59
1579
+ 60
1580
+ 61</pre>
1398
1581
  </td>
1399
1582
  <td>
1400
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 55</span>
1583
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 59</span>
1401
1584
 
1402
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_push identifier id'>push</span> <span class='rubyid_sheet identifier id'>sheet</span><span class='assign token'>=</span><span class='rubyid_Workbook constant id'>Workbook</span><span class='colon2 op'>::</span><span class='rubyid_Sheet constant id'>Sheet</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span>
1403
- <span class='rubyid_super super kw'>super</span><span class='lparen token'>(</span><span class='rubyid_sheet identifier id'>sheet</span><span class='rparen token'>)</span>
1404
- <span class='rubyid_end end kw'>end</span>
1405
- </pre>
1585
+ <span class='kw'>def</span> <span class='id identifier rubyid_push'>push</span> <span class='id identifier rubyid_sheet'>sheet</span><span class='op'>=</span><span class='const'>Workbook</span><span class='op'>::</span><span class='const'>Sheet</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1586
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_sheet'>sheet</span><span class='rparen'>)</span>
1587
+ <span class='kw'>end</span></pre>
1588
+ </td>
1589
+ </tr>
1590
+ </table>
1591
+ </div>
1592
+
1593
+ <div class="method_details ">
1594
+ <h3 class="signature " id="read-instance_method">
1595
+
1596
+ - (<tt>Object</tt>) <strong>read</strong>(stringio_or_string, filetype)
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+ </h3><div class="docstring">
1603
+ <div class="discussion">
1604
+
1605
+ <p>Load the CSV data contained in the given StringIO or String object</p>
1606
+
1607
+
1608
+ </div>
1609
+ </div>
1610
+ <div class="tags">
1611
+ <p class="tag_title">Parameters:</p>
1612
+ <ul class="param">
1613
+
1614
+ <li>
1615
+
1616
+ <span class='name'>stringio_or_string</span>
1617
+
1618
+
1619
+ <span class='type'>(<tt>StringIO</tt>)</span>
1620
+
1621
+
1622
+
1623
+ &mdash;
1624
+ <div class='inline'>
1625
+ <p>StringIO stream or String object, with data in CSV format</p>
1626
+ </div>
1627
+
1628
+ </li>
1629
+
1630
+ <li>
1631
+
1632
+ <span class='name'>filetype</span>
1633
+
1634
+
1635
+ <span class='type'>(<tt>Symbol</tt>)</span>
1636
+
1637
+
1638
+
1639
+ &mdash;
1640
+ <div class='inline'>
1641
+ <p>(currently only :csv or :txt), indicating the format of the first parameter</p>
1642
+ </div>
1643
+
1644
+ </li>
1645
+
1646
+ </ul>
1647
+
1648
+ <p class="tag_title">Raises:</p>
1649
+ <ul class="raise">
1650
+
1651
+ <li>
1652
+
1653
+
1654
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
1655
+
1656
+
1657
+
1658
+ </li>
1659
+
1660
+ </ul>
1661
+
1662
+ </div><table class="source_code">
1663
+ <tr>
1664
+ <td>
1665
+ <pre class="lines">
1666
+
1667
+
1668
+ 171
1669
+ 172
1670
+ 173
1671
+ 174
1672
+ 175
1673
+ 176</pre>
1674
+ </td>
1675
+ <td>
1676
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 171</span>
1677
+
1678
+ <span class='kw'>def</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_stringio_or_string'>stringio_or_string</span><span class='comma'>,</span> <span class='id identifier rubyid_filetype'>filetype</span><span class='rparen'>)</span>
1679
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>The filetype parameter should be either :csv or :txt</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='lbracket'>[</span><span class='symbol'>:csv</span><span class='comma'>,</span> <span class='symbol'>:txt</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_filetype'>filetype</span><span class='rparen'>)</span>
1680
+ <span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_stringio_or_string'>stringio_or_string</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:read</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_stringio_or_string'>stringio_or_string</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span> <span class='op'>:</span> <span class='id identifier rubyid_stringio_or_string'>stringio_or_string</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1681
+ <span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_text_to_utf8'>text_to_utf8</span><span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span>
1682
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:parse_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filetype'>filetype</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span>
1683
+ <span class='kw'>end</span></pre>
1406
1684
  </td>
1407
1685
  </tr>
1408
1686
  </table>
@@ -1452,19 +1730,109 @@ default is a new sheet)</p>
1452
1730
  <pre class="lines">
1453
1731
 
1454
1732
 
1455
- 62
1456
- 63
1457
- 64
1458
- 65</pre>
1733
+ 66
1734
+ 67
1735
+ 68
1736
+ 69</pre>
1459
1737
  </td>
1460
1738
  <td>
1461
- <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 62</span>
1739
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 66</span>
1740
+
1741
+ <span class='kw'>def</span> <span class='id identifier rubyid_sheet'>sheet</span>
1742
+ <span class='id identifier rubyid_push'>push</span> <span class='const'>Workbook</span><span class='op'>::</span><span class='const'>Sheet</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>unless</span> <span class='id identifier rubyid_first'>first</span>
1743
+ <span class='id identifier rubyid_first'>first</span>
1744
+ <span class='kw'>end</span></pre>
1745
+ </td>
1746
+ </tr>
1747
+ </table>
1748
+ </div>
1749
+
1750
+ <div class="method_details ">
1751
+ <h3 class="signature " id="text_to_utf8-instance_method">
1752
+
1753
+ - (<tt>Object</tt>) <strong>text_to_utf8</strong>(text)
1754
+
1755
+
1756
+
1757
+
1758
+
1759
+ </h3><div class="docstring">
1760
+ <div class="discussion">
1761
+
1762
+ <p>Helper method to convert text in a file to UTF-8</p>
1763
+
1764
+
1765
+ </div>
1766
+ </div>
1767
+ <div class="tags">
1768
+ <p class="tag_title">Parameters:</p>
1769
+ <ul class="param">
1770
+
1771
+ <li>
1772
+
1773
+ <span class='name'>text</span>
1774
+
1775
+
1776
+ <span class='type'>(<tt>String</tt>)</span>
1777
+
1778
+
1779
+
1780
+ &mdash;
1781
+ <div class='inline'>
1782
+ <p>a string to convert</p>
1783
+ </div>
1784
+
1785
+ </li>
1786
+
1787
+ </ul>
1788
+
1789
+
1790
+ </div><table class="source_code">
1791
+ <tr>
1792
+ <td>
1793
+ <pre class="lines">
1794
+
1462
1795
 
1463
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_sheet identifier id'>sheet</span>
1464
- <span class='rubyid_push identifier id'>push</span> <span class='rubyid_Workbook constant id'>Workbook</span><span class='colon2 op'>::</span><span class='rubyid_Sheet constant id'>Sheet</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span> <span class='rubyid_unless unless_mod kw'>unless</span> <span class='rubyid_first identifier id'>first</span>
1465
- <span class='rubyid_first identifier id'>first</span>
1466
- <span class='rubyid_end end kw'>end</span>
1467
- </pre>
1796
+ 119
1797
+ 120
1798
+ 121
1799
+ 122
1800
+ 123
1801
+ 124
1802
+ 125
1803
+ 126
1804
+ 127
1805
+ 128
1806
+ 129
1807
+ 130
1808
+ 131
1809
+ 132
1810
+ 133
1811
+ 134
1812
+ 135
1813
+ 136</pre>
1814
+ </td>
1815
+ <td>
1816
+ <pre class="code"><span class="info file"># File 'lib/workbook/book.rb', line 119</span>
1817
+
1818
+ <span class='kw'>def</span> <span class='id identifier rubyid_text_to_utf8'>text_to_utf8</span> <span class='id identifier rubyid_text'>text</span>
1819
+ <span class='kw'>if</span> <span class='const'>RUBY_VERSION</span> <span class='op'>&lt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1.9</span><span class='tstring_end'>'</span></span>
1820
+ <span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rchardet</span><span class='tstring_end'>'</span></span>
1821
+ <span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>iconv</span><span class='tstring_end'>'</span></span>
1822
+ <span class='id identifier rubyid_detected_encoding'>detected_encoding</span> <span class='op'>=</span> <span class='const'>CharDet</span><span class='period'>.</span><span class='id identifier rubyid_detect'>detect</span><span class='lparen'>(</span><span class='id identifier rubyid_text'>text</span><span class='rparen'>)</span>
1823
+ <span class='id identifier rubyid_detected_encoding'>detected_encoding</span> <span class='op'>=</span> <span class='id identifier rubyid_detected_encoding'>detected_encoding</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>encoding</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
1824
+ <span class='id identifier rubyid_text'>text</span> <span class='op'>=</span> <span class='const'>Iconv</span><span class='period'>.</span><span class='id identifier rubyid_conv'>conv</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>UTF-8//TRANSLIT//IGNORE</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='id identifier rubyid_detected_encoding'>detected_encoding</span><span class='comma'>,</span><span class='id identifier rubyid_text'>text</span><span class='rparen'>)</span>
1825
+ <span class='id identifier rubyid_text'>text</span> <span class='op'>=</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\xEF\xBB\xBF</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='comment'># removing the BOM...
1826
+ </span> <span class='kw'>else</span>
1827
+ <span class='kw'>unless</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_valid_encoding?'>valid_encoding?</span> <span class='kw'>and</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_encoding'>encoding</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>UTF-8</span><span class='tstring_end'>&quot;</span></span>
1828
+ <span class='comment'># TODO: had some ruby 1.9 problems with rchardet ... but ideally it or a similar functionality will be reintroduced
1829
+ </span> <span class='id identifier rubyid_source_encoding'>source_encoding</span> <span class='op'>=</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_valid_encoding?'>valid_encoding?</span> <span class='op'>?</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_encoding'>encoding</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>US-ASCII</span><span class='tstring_end'>&quot;</span></span>
1830
+ <span class='id identifier rubyid_text'>text</span> <span class='op'>=</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_encode'>encode</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>UTF-8</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_source_encoding'>source_encoding</span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='symbol'>:invalid</span><span class='op'>=&gt;</span><span class='symbol'>:replace</span><span class='comma'>,</span> <span class='symbol'>:undef</span><span class='op'>=&gt;</span><span class='symbol'>:replace</span><span class='comma'>,</span> <span class='symbol'>:replace</span><span class='op'>=&gt;</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rbrace'>}</span><span class='rparen'>)</span>
1831
+ <span class='id identifier rubyid_text'>text</span> <span class='op'>=</span> <span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\u0000</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='comment'># TODO: this cleanup of nil values isn't supposed to be needed...
1832
+ </span> <span class='kw'>end</span>
1833
+ <span class='kw'>end</span>
1834
+ <span class='kw'>return</span> <span class='id identifier rubyid_text'>text</span>
1835
+ <span class='kw'>end</span></pre>
1468
1836
  </td>
1469
1837
  </tr>
1470
1838
  </table>
@@ -1475,9 +1843,9 @@ default is a new sheet)</p>
1475
1843
  </div>
1476
1844
 
1477
1845
  <div id="footer">
1478
- Generated on Thu Jan 17 13:16:04 2013 by
1846
+ Generated on Sun May 5 14:58:07 2013 by
1479
1847
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1480
- 0.8.3 (ruby-1.8.7).
1848
+ 0.8.5.2 (ruby-1.9.3).
1481
1849
  </div>
1482
1850
 
1483
1851
  </body>