roo 1.13.2 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +7 -0
- data/.simplecov +4 -0
- data/.travis.yml +13 -0
- data/CHANGELOG.md +500 -0
- data/Gemfile +16 -10
- data/Guardfile +24 -0
- data/LICENSE +3 -1
- data/README.md +254 -0
- data/Rakefile +23 -23
- data/examples/roo_soap_client.rb +28 -31
- data/examples/roo_soap_server.rb +4 -6
- data/examples/write_me.rb +9 -10
- data/lib/roo/base.rb +303 -388
- data/lib/roo/csv.rb +120 -113
- data/lib/roo/excelx/comments.rb +24 -0
- data/lib/roo/excelx/extractor.rb +20 -0
- data/lib/roo/excelx/relationships.rb +26 -0
- data/lib/roo/excelx/shared_strings.rb +40 -0
- data/lib/roo/excelx/sheet_doc.rb +202 -0
- data/lib/roo/excelx/styles.rb +62 -0
- data/lib/roo/excelx/workbook.rb +59 -0
- data/lib/roo/excelx.rb +452 -484
- data/lib/roo/font.rb +17 -0
- data/lib/roo/libre_office.rb +5 -0
- data/lib/roo/link.rb +15 -0
- data/lib/roo/{openoffice.rb → open_office.rb} +678 -496
- data/lib/roo/spreadsheet.rb +20 -23
- data/lib/roo/utils.rb +78 -0
- data/lib/roo/version.rb +3 -0
- data/lib/roo.rb +18 -24
- data/roo.gemspec +20 -204
- data/spec/lib/roo/base_spec.rb +1 -4
- data/spec/lib/roo/csv_spec.rb +21 -13
- data/spec/lib/roo/excelx/format_spec.rb +7 -6
- data/spec/lib/roo/excelx_spec.rb +388 -11
- data/spec/lib/roo/libreoffice_spec.rb +16 -6
- data/spec/lib/roo/openoffice_spec.rb +2 -8
- data/spec/lib/roo/spreadsheet_spec.rb +40 -12
- data/spec/lib/roo/utils_spec.rb +106 -0
- data/spec/spec_helper.rb +2 -1
- data/test/test_generic_spreadsheet.rb +19 -67
- data/test/test_helper.rb +9 -56
- data/test/test_roo.rb +252 -477
- metadata +63 -302
- data/CHANGELOG +0 -417
- data/Gemfile.lock +0 -78
- data/README.markdown +0 -126
- data/VERSION +0 -1
- data/lib/roo/excel.rb +0 -355
- data/lib/roo/excel2003xml.rb +0 -300
- data/lib/roo/google.rb +0 -292
- data/lib/roo/roo_rails_helper.rb +0 -83
- data/lib/roo/worksheet.rb +0 -18
- data/spec/lib/roo/excel2003xml_spec.rb +0 -15
- data/spec/lib/roo/excel_spec.rb +0 -17
- data/spec/lib/roo/google_spec.rb +0 -64
- data/test/files/1900_base.xls +0 -0
- data/test/files/1900_base.xlsx +0 -0
- data/test/files/1904_base.xls +0 -0
- data/test/files/1904_base.xlsx +0 -0
- data/test/files/Bibelbund.csv +0 -3741
- data/test/files/Bibelbund.ods +0 -0
- data/test/files/Bibelbund.xls +0 -0
- data/test/files/Bibelbund.xlsx +0 -0
- data/test/files/Bibelbund.xml +0 -62518
- data/test/files/Bibelbund1.ods +0 -0
- data/test/files/Pfand_from_windows_phone.xlsx +0 -0
- data/test/files/bad_excel_date.xls +0 -0
- data/test/files/bbu.ods +0 -0
- data/test/files/bbu.xls +0 -0
- data/test/files/bbu.xlsx +0 -0
- data/test/files/bbu.xml +0 -152
- data/test/files/bode-v1.ods.zip +0 -0
- data/test/files/bode-v1.xls.zip +0 -0
- data/test/files/boolean.csv +0 -2
- data/test/files/boolean.ods +0 -0
- data/test/files/boolean.xls +0 -0
- data/test/files/boolean.xlsx +0 -0
- data/test/files/boolean.xml +0 -112
- data/test/files/borders.ods +0 -0
- data/test/files/borders.xls +0 -0
- data/test/files/borders.xlsx +0 -0
- data/test/files/borders.xml +0 -144
- data/test/files/bug-numbered-sheet-names.xlsx +0 -0
- data/test/files/bug-row-column-fixnum-float.xls +0 -0
- data/test/files/bug-row-column-fixnum-float.xml +0 -127
- data/test/files/comments.ods +0 -0
- data/test/files/comments.xls +0 -0
- data/test/files/comments.xlsx +0 -0
- data/test/files/csvtypes.csv +0 -1
- data/test/files/datetime.ods +0 -0
- data/test/files/datetime.xls +0 -0
- data/test/files/datetime.xlsx +0 -0
- data/test/files/datetime.xml +0 -142
- data/test/files/datetime_floatconv.xls +0 -0
- data/test/files/datetime_floatconv.xml +0 -148
- data/test/files/dreimalvier.ods +0 -0
- data/test/files/emptysheets.ods +0 -0
- data/test/files/emptysheets.xls +0 -0
- data/test/files/emptysheets.xlsx +0 -0
- data/test/files/emptysheets.xml +0 -105
- data/test/files/excel2003.xml +0 -21140
- data/test/files/false_encoding.xls +0 -0
- data/test/files/false_encoding.xml +0 -132
- data/test/files/file_item_error.xlsx +0 -0
- data/test/files/formula.ods +0 -0
- data/test/files/formula.xls +0 -0
- data/test/files/formula.xlsx +0 -0
- data/test/files/formula.xml +0 -134
- data/test/files/formula_parse_error.xls +0 -0
- data/test/files/formula_parse_error.xml +0 -1833
- data/test/files/formula_string_error.xlsx +0 -0
- data/test/files/html-escape.ods +0 -0
- data/test/files/link.xls +0 -0
- data/test/files/link.xlsx +0 -0
- data/test/files/matrix.ods +0 -0
- data/test/files/matrix.xls +0 -0
- data/test/files/named_cells.ods +0 -0
- data/test/files/named_cells.xls +0 -0
- data/test/files/named_cells.xlsx +0 -0
- data/test/files/no_spreadsheet_file.txt +0 -1
- data/test/files/numbers1.csv +0 -18
- data/test/files/numbers1.ods +0 -0
- data/test/files/numbers1.xls +0 -0
- data/test/files/numbers1.xlsx +0 -0
- data/test/files/numbers1.xml +0 -312
- data/test/files/numeric-link.xlsx +0 -0
- data/test/files/only_one_sheet.ods +0 -0
- data/test/files/only_one_sheet.xls +0 -0
- data/test/files/only_one_sheet.xlsx +0 -0
- data/test/files/only_one_sheet.xml +0 -67
- data/test/files/paragraph.ods +0 -0
- data/test/files/paragraph.xls +0 -0
- data/test/files/paragraph.xlsx +0 -0
- data/test/files/paragraph.xml +0 -127
- data/test/files/prova.xls +0 -0
- data/test/files/ric.ods +0 -0
- data/test/files/simple_spreadsheet.ods +0 -0
- data/test/files/simple_spreadsheet.xls +0 -0
- data/test/files/simple_spreadsheet.xlsx +0 -0
- data/test/files/simple_spreadsheet.xml +0 -225
- data/test/files/simple_spreadsheet_from_italo.ods +0 -0
- data/test/files/simple_spreadsheet_from_italo.xls +0 -0
- data/test/files/simple_spreadsheet_from_italo.xml +0 -242
- data/test/files/so_datetime.csv +0 -7
- data/test/files/style.ods +0 -0
- data/test/files/style.xls +0 -0
- data/test/files/style.xlsx +0 -0
- data/test/files/style.xml +0 -154
- data/test/files/time-test.csv +0 -2
- data/test/files/time-test.ods +0 -0
- data/test/files/time-test.xls +0 -0
- data/test/files/time-test.xlsx +0 -0
- data/test/files/time-test.xml +0 -131
- data/test/files/type_excel.ods +0 -0
- data/test/files/type_excel.xlsx +0 -0
- data/test/files/type_excelx.ods +0 -0
- data/test/files/type_excelx.xls +0 -0
- data/test/files/type_openoffice.xls +0 -0
- data/test/files/type_openoffice.xlsx +0 -0
- data/test/files/whitespace.ods +0 -0
- data/test/files/whitespace.xls +0 -0
- data/test/files/whitespace.xlsx +0 -0
- data/test/files/whitespace.xml +0 -184
- data/test/rm_sub_test.rb +0 -12
- data/test/rm_test.rb +0 -7
- data/website/index.html +0 -385
- data/website/index.txt +0 -423
- data/website/javascripts/rounded_corners_lite.inc.js +0 -285
- data/website/stylesheets/screen.css +0 -130
- data/website/template.rhtml +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67acb8a7cbbb8c526865f95e6b93f37313b6d373
|
4
|
+
data.tar.gz: 48cf05f82b1a5e64c2b2549f08afbc3544e575dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c77744d3f264952565934a3d49966bcaa80bd4f7b1a388164ded5a89873347e1f0fec00c074839a60f03982e6c37044b448568bb493a062c37c58dbf9fc5095
|
7
|
+
data.tar.gz: 42b35d1b9a8b55a5d10f41803cec60da00c902853ec38a5ee44bbd5ab2736f60637ef0a91a470cdbe2503a5bb06009e3c87c9f3f571eccbc3d7de4e8caf9c1c2
|
data/.gitignore
ADDED
data/.simplecov
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,500 @@
|
|
1
|
+
## [2.0.0beta1] [unreleased]
|
2
|
+
### Added
|
3
|
+
- Added optional support for hidden sheets in Excelx and LibreOffice files [#177](https://github.com/roo-rb/roo/pull/177)
|
4
|
+
- Roo::OpenOffice can be used to open encrypted workbooks. [#157](https://github.com/roo-rb/roo/pull/157)
|
5
|
+
- Added streaming for parsing of large Excelx Sheets. [#69](https://github.com/roo-rb/roo/pull/69)
|
6
|
+
- Added Roo::Base#first_last_row_col_for_sheet [a0dd800](https://github.com/roo-rb/roo/commit/a0dd800d5cf0de052583afa91bf82f8802ede9a0)
|
7
|
+
- Added Roo::Base#collect_last_row_col_for_sheet [a0dd800](https://github.com/roo-rb/roo/commit/a0dd800d5cf0de052583afa91bf82f8802ede9a0)
|
8
|
+
- Added Roo::Base::MAX_ROW_COL, Roo::Base::MIN_ROW_COL [a0dd800](https://github.com/roo-rb/roo/commit/a0dd800d5cf0de052583afa91bf82f8802ede9a0)
|
9
|
+
- Extract Roo::Font to replace equivalent uses in Excelx and OpenOffice. [23e19de](https://github.com/roo-rb/roo/commit/23e19de1ccc64b2b02a80090ff6666008a29c43b)
|
10
|
+
- Roo::Utils [3169a0e](https://github.com/roo-rb/roo/commit/3169a0e803ce742d2cbf9be834d27a5098a68638)
|
11
|
+
- Roo::ExcelxComments [0a43341](https://github.com/roo-rb/roo/commit/0a433413210b5559dc92d743a72a1f38ee775f5f)
|
12
|
+
[0a43341](https://github.com/roo-rb/roo/commit/0a433413210b5559dc92d743a72a1f38ee775f5f)
|
13
|
+
- Roo::Excelx::Relationships [0a43341](https://github.com/roo-rb/roo/commit/0a433413210b5559dc92d743a72a1f38ee775f5f)
|
14
|
+
- Roo::Excelx::SheetDoc [0a43341](https://github.com/roo-rb/roo/commit/0a433413210b5559dc92d743a72a1f38ee775f5f)
|
15
|
+
[c2bb7b8](https://github.com/roo-rb/roo/commit/c2bb7b8614f4ff1dff6b7bdbda0ded125ae549c7)
|
16
|
+
+- Roo::Excelx::Styles [c2bb7b8](https://github.com/roo-rb/roo/commit/c2bb7b8614f4ff1dff6b7bdbda0ded125ae549c7)
|
17
|
+
+- Roo::Excelx::Workbook [c2bb7b8](https://github.com/roo-rb/roo/commit/c2bb7b8614f4ff1dff6b7bdbda0ded125ae549c7)
|
18
|
+
- Switch from Spreadsheet::Link to Roo::Link [ee67321](https://github.com/roo-rb/roo/commit/ee6732144f3616631d19ade0c5490e1678231ce2)
|
19
|
+
- Roo::Base#to_csv: Added separator parameter (defaults to ",") [#102](https://github.com/roo-rb/roo/pull/102)
|
20
|
+
- Added development development gems [#104](https://github.com/roo-rb/roo/pull/104)
|
21
|
+
|
22
|
+
### Changed
|
23
|
+
- Reduced size of published gem. [#194](https://github.com/roo-rb/roo/pull/194)
|
24
|
+
- Stream the reading of the dimensions [#192](https://github.com/roo-rb/roo/pull/192)
|
25
|
+
- Return `nil` when a querying a cell that doesn't exist (instead of a NoMethodError) [#192](https://github.com/roo-rb/roo/pull/192), [#165](https://github.com/roo-rb/roo/pull/165)
|
26
|
+
- Roo::OpenOffice#formula? now returns a `Boolean` instead of a `String` or `nil` [#191](https://github.com/roo-rb/roo/pull/191)
|
27
|
+
- Added a less verbose Roo::Base#inspect. It no longer returns the entire object. [#188](https://github.com/roo-rb/roo/pull/188), [#186](https://github.com/roo-rb/roo/pull/186)
|
28
|
+
- Memoize Roo::Utils.split_coordinate [#180](https://github.com/roo-rb/roo/pull/180)
|
29
|
+
- Roo::Base: use regular expressions for extracting headers [#173](https://github.com/roo-rb/roo/pull/173)
|
30
|
+
- Roo::Base: memoized `first_row`/`last_row` `first_column`/`last_column` and changed the default value of the `sheet` argument from `nil` to `default_sheet` [a0dd800](https://github.com/roo-rb/roo/commit/a0dd800d5cf0de052583afa91bf82f8802ede9a0)
|
31
|
+
- Roo::Base: changed the order of arguments for `to_csv` to (filename = nil, separator = ',', sheet = default_sheet) from (filename=nil,sheet=nil) [1e82a21](https://github.com/roo-rb/roo/commit/1e82a218087ba34379ae7312214911b104333e2c)
|
32
|
+
- In OpenOffice / LibreOffice, load the content xml lazily. Leave the tmpdir open so that reading may take place after initialize. The OS will be responsible for cleaning it up. [adb204b](https://github.com/roo-rb/roo/commit/a74157adb204bc93d289c5708e8e79e143d09037)
|
33
|
+
- Lazily initialize @default_sheet, to avoid reading the sheets earlier than necessary. Use the #default_sheet accessor instead. [704e3dc](https://github.com/roo-rb/roo/commit/704e3dca1692d84ac4877f04a7e46238772d423b)
|
34
|
+
- Roo::Base#default_sheet is no longer an attr_reader [704e3dc](https://github.com/roo-rb/roo/commit/704e3dca1692d84ac4877f04a7e46238772d423b)
|
35
|
+
- In Excelx, load styles, shared strings and the workbook lazily. Leave the tmpdir open so that reading may take place after initialize. The OS will be responsible for cleaning it up. [a973237](https://github.com/roo-rb/roo/commit/a9732372f531e435a3330d8ab5bd44ce2cb57b0b), [4834e20c](https://github.com/roo-rb/roo/commit/4834e20c6c4d2086414c43f8b0cc2d1413b45a61), [e49a1da](https://github.com/roo-rb/roo/commit/e49a1da22946918992873e8cd5bacc15ea2c73c4)
|
36
|
+
- Change the tmpdir prefix from oo_ to roo_ [102d5fc](https://github.com/roo-rb/roo/commit/102d5fce30b46e928807bc60f607f81956ed898b)
|
37
|
+
- Accept the tmpdir_root option in Roo::Excelx [0e325b6](https://github.com/roo-rb/roo/commit/0e325b68f199ff278b26bd621371ed42fa999f24)
|
38
|
+
- Refactored Excelx#comment? [0fb90ec](https://github.com/roo-rb/roo/commit/0fb90ecf6a8f422ef16a7105a1d2c42d611556c3)
|
39
|
+
- Refactored Roo::Base#find, #find_by_row, #find_by_conditions. [1ccedab](https://github.com/roo-rb/roo/commit/1ccedab3fb656f4614f0a85e9b0a286ad83f5c1e)
|
40
|
+
- Extended Roo::Spreadsheet.open so that it accepts Tempfiles and other arguments responding to `path`. Note they require an :extension option to be declared, as the tempfile mangles the extension. [#84](https://github.com/roo-rb/roo/pull/84).
|
41
|
+
|
42
|
+
### Fixed
|
43
|
+
- Process sheets from Numbers 3.1 xlsx files in the right order. [#196](https://github.com/roo-rb/roo/pull/196), [#181](https://github.com/roo-rb/roo/pull/181), [#114](https://github.com/roo-rb/roo/pull/114)
|
44
|
+
- Fixed comments for xlsx files exported from Google [#197](https://github.com/roo-rb/roo/pull/197)
|
45
|
+
- Fixed Roo::Excelx#celltype to return :link when appropriate.
|
46
|
+
- Fixed type coercion of ids. [#192](https://github.com/roo-rb/roo/pull/192)
|
47
|
+
- Clean option only removes spaces and control characters instead of removing all characters outside of the ASCII range. [#176](https://github.com/roo-rb/roo/pull/176)
|
48
|
+
- Fixed parse method with `clean` option [#184](https://github.com/roo-rb/roo/pull/184)
|
49
|
+
- Fixed some memory issues.
|
50
|
+
- Fixed Roo::Utils.number_to_letter [#180](https://github.com/roo-rb/roo/pull/180)
|
51
|
+
- Fixed merged cells return value. Instead of only the top-left cell returning a value, all merged cells return that value instead of returning nil. [#171](https://github.com/roo-rb/roo/pull/171)
|
52
|
+
- Handle headers with brackets [#162](https://github.com/roo-rb/roo/pull/162)
|
53
|
+
- Roo::Base#sheet method was not returning the sheet specified when using either an index or name [#160](https://github.com/roo-rb/roo/pull/160)
|
54
|
+
- Properly process paths with spaces. [#142](https://github.com/roo-rb/roo/pull/142), [#121](https://github.com/roo-rb/roo/pull/121), [#94](https://github.com/roo-rb/roo/pull/94), [4e7d7d1](https://github.com/roo-rb/roo/commit/4e7d7d18d37654b0c73b229f31ea0d305c7e90ff)
|
55
|
+
- Disambiguate #open call in Excelx#extract_file. [#125](https://github.com/roo-rb/roo/pull/125)
|
56
|
+
- Fixed that #parse-ing with a hash of columns not in the document would fail mysteriously. [#129](https://github.com/roo-rb/roo/pull/129)
|
57
|
+
- Fixed Excelx issue when reading hyperlinks [#123](https://github.com/roo-rb/roo/pull/123)
|
58
|
+
- Fixed invalid test case [#124](https://github.com/roo-rb/roo/pull/124)
|
59
|
+
- Fixed error in test helper file_diff [56e2e61](https://github.com/roo-rb/roo/commit/56e2e61d1ad9185d8ab0d4af4b32928f07fdaad0)
|
60
|
+
- Stopped `inspect` from being called recursively. [#115](https://github.com/roo-rb/roo/pull/115)
|
61
|
+
- Fixes for Excelx Datetime cells. [#104](https://github.com/roo-rb/roo/pull/104), [#120](https://github.com/roo-rb/roo/pull/120)
|
62
|
+
- Prevent ArgumentError when using `find` [#100](https://github.com/roo-rb/roo/pull/100)
|
63
|
+
- Export to_csv converts link cells to url [#93](https://github.com/roo-rb/roo/pull/93), [#108](https://github.com/roo-rb/roo/pull/108)
|
64
|
+
|
65
|
+
### Removed
|
66
|
+
- Roo::Excel - Extracted to roo-xls gem. [a7edbec](https://github.com/roo-rb/roo/commit/a7edbec2eb44344611f82cff89a82dac31ec0d79)
|
67
|
+
- Roo::Excel2003XML - Extracted to roo-xls gem. [a7edbec](https://github.com/roo-rb/roo/commit/a7edbec2eb44344611f82cff89a82dac31ec0d79)
|
68
|
+
- Roo::Google - Extracted to roo-google gem. [a7edbec](https://github.com/roo-rb/roo/commit/a7edbec2eb44344611f82cff89a82dac31ec0d79)
|
69
|
+
- Roo::OpenOffice::Font - Refactored into Roo::Font
|
70
|
+
- Removed Roo::OpenOffice.extract_content [a74157a](https://github.com/roo-rb/roo/commit/a74157adb204bc93d289c5708e8e79e143d09037)
|
71
|
+
- Removed OpenOffice.process_zipfile [835368e](https://github.com/roo-rb/roo/commit/835368e1d29c1530f00bf9caa07704b17370e38f)
|
72
|
+
- Roo::OpenOffice#comment?
|
73
|
+
- Roo::ZipFile - Removed the Roo::ZipFile abstraction. Roo now depends on rubyzip 1.0.0+ [d466950](https://github.com/roo-rb/roo/commit/d4669503b5b80c1d30f035177a2b0e4b56fc49ce)
|
74
|
+
- SpreadSheet::Worksheet - Extracted to roo-xls gem. [a7edbec](https://github.com/roo-rb/roo/commit/a7edbec2eb44344611f82cff89a82dac31ec0d79)
|
75
|
+
- Spreadsheet - Extracted to roo-xls gem. [a7edbec](https://github.com/roo-rb/roo/commit/a7edbec2eb44344611f82cff89a82dac31ec0d79)
|
76
|
+
|
77
|
+
## [1.13.2] - 2013-12-23
|
78
|
+
### Fixed
|
79
|
+
- Fix that Excelx link-cells would blow up if the value wasn't a string. Due to the way Spreadsheet::Link is implemented the link text must be treated as a string. #92
|
80
|
+
|
81
|
+
## [1.13.1] - 2013-12-23
|
82
|
+
### Fixed
|
83
|
+
- Fix that Excelx creation could blow up due to nil rels files. #90
|
84
|
+
|
85
|
+
## [1.13.0] - 2013-12-05
|
86
|
+
### Changed / Added
|
87
|
+
- Support extracting link data from Excel and Excelx spreadsheets,
|
88
|
+
via Excel#read_cell() and Excelx#hyperlink(?). #47
|
89
|
+
- Support setting the Excel Spreadsheet mode via the :mode option. #88
|
90
|
+
- Support Spreadsheet.open with a declared :extension that includes a leading '.'. #73
|
91
|
+
- Enable file type detection for URI's with parameters / anchors. #51
|
92
|
+
|
93
|
+
### Fixed
|
94
|
+
- Fix that CSV#each_row could overwrite the filename when run against a uri. #77
|
95
|
+
- Fix that #to_matrix wasn't respecting the sheet argument. #87
|
96
|
+
|
97
|
+
## [1.12.2] - 2013-09-11
|
98
|
+
### Changed / Added
|
99
|
+
- Support rubyzip >= 1.0.0. #65
|
100
|
+
- Fix typo in deprecation notices. #63
|
101
|
+
|
102
|
+
## [1.12.1] - 2013-08-18
|
103
|
+
### Changed / Added
|
104
|
+
- Support :boolean fields for CSV export via #cell_to_csv. #59
|
105
|
+
|
106
|
+
### Fixed
|
107
|
+
- Fix that Excelx would error on files with gaps in the numbering of their
|
108
|
+
internal sheet#.xml files. #58
|
109
|
+
- Fix that Base#info to preserve the original value of #default_sheet. #44
|
110
|
+
|
111
|
+
## [1.12.0] - 2013-08-18
|
112
|
+
### Deprecated
|
113
|
+
- Rename Openoffice -> OpenOffice, Libreoffice -> LibreOffice, Csv -> CSV, and redirect the old names to the new constants
|
114
|
+
- Enable Roo::Excel, Excel2003XML, Excelx, OpenOffice to accept an options hash, and deprecate the old method argument based approach to supplying them options
|
115
|
+
- Roo's roo_rails_helper, aka the `spreadsheet` html-generating view method is currently deprecated with no replacement. If you find it helpful, tell http://github.com/Empact or extract it yourself.
|
116
|
+
|
117
|
+
### Changed / Added
|
118
|
+
- Add Roo::Excelx#load_xml so that people can customize to their data, e.g. #23
|
119
|
+
- Enable passing csv_options to Roo::CSV, which are passed through to the underlying CSV call.
|
120
|
+
- Enable passing options through from Roo::Spreadsheet to any Roo type.
|
121
|
+
- Enable passing an :extension option to Roo::Spreadsheet.new, which will override the extension detected on in the path #15
|
122
|
+
- Switch from google-spreadsheet-ruby to google_drive for Roo::Google access #40
|
123
|
+
- Make all the classes consistent in that #read_cells is only effective if the sheet has not been read.
|
124
|
+
- Roo::Google supports login via oauth :access_token. #61
|
125
|
+
- Roo::Excel now exposes its Spreadsheet workbook via #workbook
|
126
|
+
- Pull #load_xml down into Roo::Base, and use it in Excel2003XML and OpenOffice.
|
127
|
+
|
128
|
+
### Changed
|
129
|
+
- #formula? now returns truthy or falsey, rather than true/false.
|
130
|
+
- Base#longest_sheet was moved to Excel, as it only worked under Excel
|
131
|
+
|
132
|
+
### Fixed
|
133
|
+
- Fix that Roo::CSV#parse(headers: true) would blow up. #37
|
134
|
+
|
135
|
+
## [1.11.2] - 2013-04-10
|
136
|
+
|
137
|
+
### Fixed
|
138
|
+
- Fix that Roo::Spreadsheet.open wasn't tolerant to case differences.
|
139
|
+
- Fix that Roo::Excel2003XML loading was broken #27
|
140
|
+
- Enable loading Roo::Csv files from uris, just as other file types #31
|
141
|
+
- Fix that Excelx "m/d/yy h:mm" was improperly being interpreted as date rather
|
142
|
+
than datetime #29
|
143
|
+
|
144
|
+
## [1.11.1] - 2013-03-18
|
145
|
+
### Fixed
|
146
|
+
- Exclude test/log/roo.log test log file from the gemspec in order to avoid a
|
147
|
+
rubygems warning: #26
|
148
|
+
|
149
|
+
## [1.11.0] - 2013-03-14
|
150
|
+
### Changed / Added
|
151
|
+
- Support ruby 2.0.0 by replacing Iconv with String#encode #19
|
152
|
+
- Excelx: Loosen the format detection rules such that more are
|
153
|
+
successfully detected #20
|
154
|
+
- Delete the roo binary, which was useless and not declared in the gemspec
|
155
|
+
|
156
|
+
### Changed
|
157
|
+
- Drop support for ruby 1.8.x or lower. Required in order to easily support 2.0.0.
|
158
|
+
|
159
|
+
## [1.10.3] - 2013-03-03
|
160
|
+
### Fixed
|
161
|
+
- Support both nokogiri 1.5.5 and 1.5.6 (Karsten Richter) #18
|
162
|
+
|
163
|
+
### Changed / Added
|
164
|
+
- Relax our nokogiri dependency back to 1.4.0, as we have no particular reason
|
165
|
+
to require a newer version.
|
166
|
+
|
167
|
+
## [1.10.2] - 2013-02-03
|
168
|
+
### Fixed
|
169
|
+
- Support opening URIs with query strings https://github.com/Empact/roo/commit/abf94bdb59cabc16d4f7764025e88e3661983525
|
170
|
+
- Support both http: & https: urls https://github.com/Empact/roo/commit/fc5c5899d96dd5f9fbb68125d0efc8ce9be2c7e1
|
171
|
+
|
172
|
+
## [1.10.1] - 2011-11-14
|
173
|
+
### Fixed
|
174
|
+
- forgot dependency 'rubyzip'
|
175
|
+
- at least one external application does create xlsx-files with different internal file names which differ from the original file names of Excel. Solution: ignore lower-/upper case in file names.
|
176
|
+
|
177
|
+
## [1.10.0] - 2011-10-10
|
178
|
+
### Changed / Added
|
179
|
+
- New class Csv.
|
180
|
+
- Openoffice, Libreoffice: new method 'labels'
|
181
|
+
- Excelx: implemented all methods concerning labels
|
182
|
+
- Openoffice, Excelx: new methods concerning comments (comment, comment? and comments)
|
183
|
+
|
184
|
+
### Fixed
|
185
|
+
- XLSX: some cells were not recognized correctly from a spreadsheet file from a windows mobile phone.
|
186
|
+
- labels: Moved to a separate methode. There were problems if there was an access to a label before read_cells were called.
|
187
|
+
|
188
|
+
## [1.9.7] - 2011-08-27
|
189
|
+
### Fixed
|
190
|
+
- Openoffice: Better way for extracting formula strings, some characters were deleted at the formula string.
|
191
|
+
|
192
|
+
## [1.9.6] - 2011-08-03
|
193
|
+
### Changed / Added
|
194
|
+
- new class Libreoffice (Libreoffice should do exactly the same as the Openoffice
|
195
|
+
class. It's just another name. Technically, Libreoffice is inherited from
|
196
|
+
the Openoffice class with no new methods.
|
197
|
+
|
198
|
+
### Fixed
|
199
|
+
- Openoffice: file type check, deletion of temporary files not in ensure clause
|
200
|
+
- Cell type :datetime was not handled in the to_csv method
|
201
|
+
- Better deletion of temporary directories if something went wrong
|
202
|
+
|
203
|
+
## [1.9.5] - 2011-06-25
|
204
|
+
### Changed / Added
|
205
|
+
- Method #formulas moved to generic-spreadsheet class (the Excel version is
|
206
|
+
overwritten because the spreadsheet gem currently does not support
|
207
|
+
formulas.
|
208
|
+
|
209
|
+
### Fixed
|
210
|
+
- Openoffice/Excelx/Google: #formulas of an empty sheet should not result
|
211
|
+
in an error message. Instead it should return an empty array.
|
212
|
+
- Openoffice/Excelx/Google: #to_yaml of an empty sheet should not result
|
213
|
+
in an error message. Instead it should return an empty string.
|
214
|
+
- Openoffice/Excelx/Google: #to_matrix of an empty sheet should not result
|
215
|
+
in an error message. Instead it should return an empty matrix.
|
216
|
+
|
217
|
+
## [1.9.4] - 2011-06-23
|
218
|
+
### Changed / Added
|
219
|
+
- removed gem 'builder'. Functionality goes to gem 'nokogiri'.
|
220
|
+
|
221
|
+
### Fixed
|
222
|
+
- Excel: remove temporary files if spreadsheed-file is not an excel file
|
223
|
+
and an exception was raised
|
224
|
+
- Excelx: a referenced cell with a string had the content 0.0 not the
|
225
|
+
correct string
|
226
|
+
- Fixed a problem with a date cell which was not recognized as a Date
|
227
|
+
object (see 2011-05-21 in excelx.rb)
|
228
|
+
|
229
|
+
## [1.9.3] - 2010-02-12
|
230
|
+
### Changed / Added
|
231
|
+
- new method 'to_matrix'
|
232
|
+
|
233
|
+
### Fixed
|
234
|
+
- missing dependencies defined
|
235
|
+
|
236
|
+
## [1.9.2] - 2009-12-08
|
237
|
+
### Fixed
|
238
|
+
- double quoting of '"' fixed
|
239
|
+
|
240
|
+
## [1.9.1] - 2009-11-10
|
241
|
+
### Fixed
|
242
|
+
- syntax in nokogiri methods
|
243
|
+
- missing dependency ...rubyzip
|
244
|
+
|
245
|
+
## [1.9.0] - 2009-10-29
|
246
|
+
### Changed / Added
|
247
|
+
- Ruby 1.9 compatible
|
248
|
+
- oo.aa42 as a shortcut of oo.cell('aa',42)
|
249
|
+
- oo.aa42('sheet1') as a shortcut of oo.cell('aa',42,'sheet1')
|
250
|
+
- oo.anton as a reference to a cell labelled 'anton' (or any other label name)
|
251
|
+
(currently only for Openoffice spreadsheets)
|
252
|
+
|
253
|
+
## [1.2.3] - 2009-01-04
|
254
|
+
### Fixed
|
255
|
+
- fixed encoding in #cell at exported Google-spreadsheets (.xls)
|
256
|
+
|
257
|
+
## [1.2.2] - 2008-12-14
|
258
|
+
### Changed / Added
|
259
|
+
- added celltype :datetime in Excelx
|
260
|
+
- added celltype :datetime in Google
|
261
|
+
|
262
|
+
## [1.2.1] - 2008-11-13
|
263
|
+
### Changed / Added
|
264
|
+
- added celltype :datetime in Openoffice and Excel
|
265
|
+
|
266
|
+
## [1.2.0] - 2008-08-24
|
267
|
+
### Changed / Added
|
268
|
+
- Excelx: improved the detection of cell type and conversion into roo types
|
269
|
+
- All: to_csv: changed boundaries from first_row,1..last_row,last_column to 1,1..last_row,last_column
|
270
|
+
- All: Environment variable "ROO_TMP" indicate where temporary directories will be created (if not set the default is the current working directory)
|
271
|
+
|
272
|
+
### Fixed
|
273
|
+
- Excel: improved the detection of last_row/last_column (parseexcel-gem bug?)
|
274
|
+
- Excel/Excelx/Openoffice: temporary directories were not removed at opening a file of the wrong type
|
275
|
+
|
276
|
+
## [1.1.0] - 2008-07-26
|
277
|
+
### Changed / Added
|
278
|
+
- Excel: speed improvements
|
279
|
+
- Changed the behavior of reading files with the wrong type
|
280
|
+
|
281
|
+
### Fixed
|
282
|
+
- Google: added normalize in set_value method
|
283
|
+
- Excel: last_row in Excel class did not work properly under some circumstances
|
284
|
+
- all: fixed a bug in #to_xml if there is an empty sheet
|
285
|
+
|
286
|
+
## [1.0.2] - 2008-07-04
|
287
|
+
### Fixed
|
288
|
+
- Excelx: fixed a bug when there are .xml.rels files in the XLSX archive
|
289
|
+
- Excelx: fixed a bug with celltype recognition (see comment with "2008-07-03")
|
290
|
+
|
291
|
+
## [1.0.1] - 2008-06-30
|
292
|
+
### Fixed
|
293
|
+
- Excel: row/column method Fixnum/Float confusion
|
294
|
+
|
295
|
+
## [1.0.0] - 2008-05-28
|
296
|
+
### Changed / Added
|
297
|
+
- support of Excel's new .xlsx file format
|
298
|
+
- method #to_xml for exporting a spreadsheet to an xml representation
|
299
|
+
|
300
|
+
### Fixed
|
301
|
+
- fixed a bug with excel-spreadsheet character conversion under Macintosh Darwin
|
302
|
+
|
303
|
+
## [0.9.4] - 2008-04-22
|
304
|
+
### Fixed
|
305
|
+
- fixed a bug with excel-spreadsheet character conversion under Solaris
|
306
|
+
|
307
|
+
## [0.9.3] - 2008-03-25
|
308
|
+
### Fixed
|
309
|
+
- no more tmp directories if an invalid spreadsheet file was openend
|
310
|
+
|
311
|
+
## [0.9.2] - 2008-03-24
|
312
|
+
### Changed / Added
|
313
|
+
- new celltype :time
|
314
|
+
|
315
|
+
### Fixed
|
316
|
+
- time values like '23:15' are handled as seconds from midnight
|
317
|
+
|
318
|
+
## [0.9.1] - 2008-03-23
|
319
|
+
### Changed / Added
|
320
|
+
- additional 'sheet' parameter in Google#set_value
|
321
|
+
|
322
|
+
### Fixed
|
323
|
+
- fixed a bug within Google#set_value. thanks to davecahill <dpcahill@gmail.com> for the patch.
|
324
|
+
|
325
|
+
## [0.9.0] - 2008-01-24
|
326
|
+
### Changed / Added
|
327
|
+
- better support of roo spreadsheets in rails views
|
328
|
+
|
329
|
+
## [0.8.5] - 2008-01-16
|
330
|
+
### Fixed
|
331
|
+
- fixed a bug within #to_cvs and explicit call of a sheet
|
332
|
+
|
333
|
+
## [0.8.4] - 2008-01-01
|
334
|
+
### Fixed
|
335
|
+
- fixed 'find_by_condition' for excel sheets (header_line= --> GenericSpredsheet)
|
336
|
+
|
337
|
+
## [0.8.3] - 2007-12-31
|
338
|
+
### Fixed
|
339
|
+
- another fix for the encoding issue in excel sheet-names
|
340
|
+
- reactived the Excel#find method which has been disappeared in the last restructoring, moved to GenericSpreadsheet
|
341
|
+
|
342
|
+
## [0.8.2] - 2007-12-28
|
343
|
+
### Changed / Added
|
344
|
+
- basename() only in method #info
|
345
|
+
|
346
|
+
### Fixed
|
347
|
+
- changed logging-method to mysql-database in test code with AR, table column 'class' => 'class_name'
|
348
|
+
- reactived the Excel#to_csv method which has been disappeared in the last restructoring
|
349
|
+
|
350
|
+
## [0.8.1] - 2007-12-22
|
351
|
+
### Fixed
|
352
|
+
- fixed a bug with first/last-row/column in empty sheet
|
353
|
+
- #info prints now '- empty -' if a sheet within a document is empty
|
354
|
+
- tried to fix the iconv conversion problem
|
355
|
+
|
356
|
+
## [0.8.0] - 2007-12-15
|
357
|
+
### Changed / Added
|
358
|
+
- Google online spreadsheets were implemented
|
359
|
+
- some methods common to more than one class were factored out to the GenericSpreadsheet (virtual) class
|
360
|
+
|
361
|
+
## [0.7.0] - 2007-11-23
|
362
|
+
### Changed / Added
|
363
|
+
- Openoffice/Excel: the most methods can be called with an option 'sheet'
|
364
|
+
parameter which will be used instead of the default sheet
|
365
|
+
- Excel: improved the speed of CVS output
|
366
|
+
- Openoffice/Excel: new method #column
|
367
|
+
- Openoffice/Excel: new method #find
|
368
|
+
- Openoffice/Excel: new method #info
|
369
|
+
- better exception if a spreadsheet file does not exist
|
370
|
+
|
371
|
+
## [0.6.1] - 2007-10-06
|
372
|
+
### Changed / Added
|
373
|
+
- Openoffice: percentage-values are now treated as numbers (not strings)
|
374
|
+
- Openoffice: refactoring
|
375
|
+
|
376
|
+
### Fixed
|
377
|
+
- Openoffice: repeating date-values in a line are now handled correctly
|
378
|
+
|
379
|
+
## [0.6.0] - 2007-10-06
|
380
|
+
### Changed / Added
|
381
|
+
- csv-output to stdout or file
|
382
|
+
|
383
|
+
## [0.5.4] - 2007-08-27
|
384
|
+
### Fixed
|
385
|
+
- Openoffice: fixed a bug with internal representation of a spreadsheet (thanks to Ric Kamicar for the patch)
|
386
|
+
|
387
|
+
## [0.5.3] - 2007-08-26
|
388
|
+
### Changed / Added
|
389
|
+
- Openoffice: can now read zip-ed files
|
390
|
+
- Openoffice: can now read files from http://-URL over the net
|
391
|
+
|
392
|
+
## [0.5.2] - 2007-08-26
|
393
|
+
### Fixed
|
394
|
+
- excel: removed debugging output
|
395
|
+
|
396
|
+
## [0.5.1] - 2007-08-26
|
397
|
+
### Changed / Added
|
398
|
+
- Openoffice: Exception if an illegal sheet-name is selected
|
399
|
+
- Openoffice/Excel: no need to set a default_sheet if there is only one in
|
400
|
+
the document
|
401
|
+
- Excel: can now read zip-ed files
|
402
|
+
- Excel: can now read files from http://-URL over the net
|
403
|
+
|
404
|
+
## [0.5.0] - 2007-07-20
|
405
|
+
### Changed / Added
|
406
|
+
- Excel-objects: the methods default_sheet= and sheets can now handle names instead of numbers
|
407
|
+
### Changedd the celltype methods to return symbols, not strings anymore (possible values are :formula, :float, :string, :date, :percentage (if you need strings you can convert it with .to_s)
|
408
|
+
- tests can now run on the client machine (not only my machine), if there are not public released files involved these tests are skipped
|
409
|
+
|
410
|
+
## [0.4.1] - 2007-06-27
|
411
|
+
### Fixed
|
412
|
+
- there was ONE false require-statement which led to misleading error messageswhen this gem was used
|
413
|
+
|
414
|
+
## [0.4.0] - 2007-06-27
|
415
|
+
### Changed / Added
|
416
|
+
- robustness: Exception if no default_sheet was set
|
417
|
+
- new method reload() implemented
|
418
|
+
- about 15 % more method documentation
|
419
|
+
- optimization: huge increase of speed (no need to use fixed borders anymore)
|
420
|
+
- added the method 'formulas' which gives you all formulas in a spreadsheet
|
421
|
+
- added the method 'set' which can set cells to a certain value
|
422
|
+
- added the method 'to_yaml' which can produce output for importing in a (rails) database
|
423
|
+
|
424
|
+
### Fixed
|
425
|
+
- ..row_as_letter methods were nonsense - removed
|
426
|
+
- @cells_read should be reset if the default_sheet is changed
|
427
|
+
- error in excel-part: strings are now converted to utf-8 (the parsexcel-gem gave me an error with my test data, which could not converted to .to_s using latin1 encoding)
|
428
|
+
- fixed bug when default_sheet is changed
|
429
|
+
|
430
|
+
## [0.3.0] - 2007-06-20
|
431
|
+
### Changed / Added
|
432
|
+
- Openoffice: formula support
|
433
|
+
|
434
|
+
## [0.2.7] - 2007-06-20
|
435
|
+
### Fixed
|
436
|
+
- Excel: float-numbers were truncated to integer
|
437
|
+
|
438
|
+
## [0.2.6] - 2007-06-19
|
439
|
+
### Fixed
|
440
|
+
- Openoffice: two or more consecutive cells with string content failed
|
441
|
+
|
442
|
+
## [0.2.5] - 2007-06-17
|
443
|
+
### Changed / Added
|
444
|
+
- Excel: row method implemented
|
445
|
+
- more tests
|
446
|
+
|
447
|
+
### Fixed
|
448
|
+
- Openoffice: row method fixed
|
449
|
+
|
450
|
+
## [0.2.4] - 2007-06-16
|
451
|
+
### Fixed
|
452
|
+
- ID 11605 Two cols with same value: crash roo (openoffice version only)
|
453
|
+
|
454
|
+
## [0.2.3] - 2007-06-02
|
455
|
+
### Changed / Added
|
456
|
+
- more robust call att Excel#default_sheet= when called with a name
|
457
|
+
- new method empty?
|
458
|
+
- refactoring
|
459
|
+
|
460
|
+
### Fixed
|
461
|
+
- bugfix in Excel#celltype
|
462
|
+
- bugfix (running under windows only) in closing the temp file before removing it
|
463
|
+
|
464
|
+
## [0.2.2] - 2007-06-01
|
465
|
+
### Fixed
|
466
|
+
- correct pathname for running with windows
|
467
|
+
|
468
|
+
## [0.2.2] - 2007-06-01
|
469
|
+
### Fixed
|
470
|
+
- incorrect dependencies fixed
|
471
|
+
|
472
|
+
## [0.2.0] - 2007-06-01
|
473
|
+
### Changed / Added
|
474
|
+
- support for MS-Excel Spreadsheets
|
475
|
+
|
476
|
+
## [0.1.2] - 2007-05-31
|
477
|
+
### Changed / Added
|
478
|
+
- cells with more than one character, like 'AA' can now be handled
|
479
|
+
|
480
|
+
## [0.1.1] - 2007-05-31
|
481
|
+
### Fixed
|
482
|
+
- bugfixes in first/last methods
|
483
|
+
|
484
|
+
## [0.1.0] - 2007-05-31
|
485
|
+
### Changed / Added
|
486
|
+
- new methods first/last row/column
|
487
|
+
- new method officeversion
|
488
|
+
|
489
|
+
## [0.0.3] - 2007-05-30
|
490
|
+
### Changed / Added
|
491
|
+
- new method row()
|
492
|
+
|
493
|
+
## [0.0.2] - 2007-05-30
|
494
|
+
### Changed / Added
|
495
|
+
- fixed some bugs
|
496
|
+
- more ways to access a cell
|
497
|
+
|
498
|
+
## [0.0.1] - 2007-05-25
|
499
|
+
### Changed / Added
|
500
|
+
- Initial release
|
data/Gemfile
CHANGED
@@ -1,18 +1,24 @@
|
|
1
|
-
source '
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
4
|
-
gem 'nokogiri'
|
5
|
-
gem 'rubyzip'
|
6
|
-
|
7
|
-
group :development do
|
8
|
-
gem 'google_drive'
|
9
|
-
gem 'jeweler'
|
10
|
-
end
|
3
|
+
gemspec
|
11
4
|
|
12
5
|
group :test do
|
13
6
|
# additional testing libs
|
14
7
|
gem 'webmock'
|
15
8
|
gem 'shoulda'
|
16
|
-
gem 'rspec'
|
9
|
+
gem 'rspec', '>= 3.0.0'
|
17
10
|
gem 'vcr'
|
11
|
+
gem 'simplecov', '>= 0.9.0', require: false
|
12
|
+
gem 'coveralls', require: false
|
13
|
+
end
|
14
|
+
|
15
|
+
group :local_development do
|
16
|
+
gem 'terminal-notifier-guard', require: false if RUBY_PLATFORM.downcase.include?('darwin')
|
17
|
+
gem 'guard-rspec', '>= 4.3.1', require: false
|
18
|
+
gem 'guard-minitest', require: false
|
19
|
+
gem 'guard-bundler', require: false
|
20
|
+
gem 'guard-preek', require: false
|
21
|
+
gem 'guard-rubocop', require: false
|
22
|
+
gem 'guard-reek', github: 'pericles/guard-reek', require: false
|
23
|
+
gem 'pry'
|
18
24
|
end
|
data/Guardfile
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard :minitest, test_folders: ['test'] do
|
5
|
+
watch(%r{^test/(.*)\/?test_(.*)\.rb$})
|
6
|
+
watch(%r{^lib/(.*/)?([^/]+)\.rb$}) { |m| "test/#{m[1]}test_#{m[2]}.rb" }
|
7
|
+
watch(%r{^test/test_helper\.rb$}) { 'test' }
|
8
|
+
end
|
9
|
+
|
10
|
+
# Note: The cmd option is now required due to the increasing number of ways
|
11
|
+
# rspec may be run, below are examples of the most common uses.
|
12
|
+
# * bundler: 'bundle exec rspec'
|
13
|
+
# * bundler binstubs: 'bin/rspec'
|
14
|
+
# * spring: 'bin/rsspec' (This will use spring if running and you have
|
15
|
+
# installed the spring binstubs per the docs)
|
16
|
+
# * zeus: 'zeus rspec' (requires the server to be started separetly)
|
17
|
+
# * 'just' rspec: 'rspec'
|
18
|
+
guard :rspec, cmd: 'bundle exec rspec' do
|
19
|
+
watch(%r{^spec/.+_spec\.rb$})
|
20
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
21
|
+
watch('spec/spec_helper.rb') { "spec" }
|
22
|
+
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
23
|
+
end
|
24
|
+
|
data/LICENSE
CHANGED